我发现“top”的结果与在标准linux.I中的结果不同。我在网上搜索了一下,但我找不到我的答案。例如,以下是我的android中top的部分结果:
PID CPU% S #THR VSS RSS PCY UID Name
814 2% R 1 940K 372K fg root top
110 1% S 58 185000K 59216K fg system system_server
31 0% S 1 0K 0K fg root vsync_workqueue
49 0% S 1 0K 0K fg root file-storage
52 0% S 1 0K 0K fg root gp2a_wq
178 0% S 9 98476K 23820K fg system com.android.systemui
所以#THR可能是threads.But的数量什么是'PCY'?我在/proc/(PID)/文件夹中找不到此信息。我发现如果我打开一个youtube,PCY将是fg。然后,如果我退出它( youtube ),youtube进程仍然存在,但PCY将是bg。就“S”而言,我发现所有进程都是“S”,这意味着正在休眠,甚至我的youtube应用程序目前也处于活动状态。很奇怪..。
有谁有clue:> Thx吗
发布于 2012-04-07 15:07:26
以下是我的(未经训练的)猜测:
PID -进程ID
CPU% - CPU使用率
S状态(或可能的状态) R=Running、S=Sleeping
#THR -线程数
PCY -我有点被难住了。您似乎很好地掌握了它的用途,所以这就足够了(假设fg和bg是唯一可能的值)
UID -启动任务的用户的名称
名称-这是不言自明的……
VSS和RSS:来自http://groups.google.com/group/android-beginners/browse_thread/thread/e6f2d396a68238ad?pli=1
虚拟集合大小(有时缩写为VSZ)和常驻集合大小。谷歌搜索会找到一些关于Linux的详细信息。下面是高速版本:
VSS表示与进程关联的虚拟内存量,驻留集大小表示与进程关联的物理页的数量。
VSS在Android上通常是没有意义的。如果我对一个1MB的文件进行内存映射,VSS会增长1MB,但是我没有使用任何资源(除了虚拟映射表中的条目)。
RSS在Android上部分是无意义的,因为它不能识别多个进程之间共享的页面。如果进程A的RSS为2MB,而进程B的RSS为2MB,则可能有4MB的物理页面被占用。也有可能只占用了2MB的物理页面。
编辑:只要你的Youtube是休眠事务,如果它没有积极地做任何事情,它将是休眠,即使它是在前台。尝试创建一个简单的应用程序,基本上是在(1){做一些没有意义的事情},看看它是在睡眠还是在运行。诚然,这也可能是Android处理多任务的方式的一个怪癖。
EDIT2:
PCY的-
PCY -- Policy --决定Android内存管理器应该如何处理应用程序
FG --前台--进程被认为是前台进程,不应该为了释放内存而终止进程
BG --后台--进程被认为是后台进程(不在前台运行,可能会被杀死以释放内存)
发布于 2014-01-08 19:26:52
顶级源码顶级源码
1:http://androidxref.com/4.0.4/xref/system/core/toolbox/top.c#442,获取计算每个值的完整逻辑
发布于 2012-04-07 10:27:11
在任何普通的linux / unix上试试man top
(尽管我不认为Android默认安装了man )。
实际上,我现在看起来那些列标题似乎没有在man
页面上被提及,但重点是man
通常是开始查找关于linux / unix命令的信息的最佳位置。
https://stackoverflow.com/questions/10051152
复制相似问题