我发现'top'的结果与标准linux的结果不同。我在网上搜索了一下但我找不到答案。 例如,以下是我的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可能是线程的数量。但什么是'PCY'?我在/ proc /(PID)/文件夹中找不到此信息。而且我发现如果我打开一个youtube,PCY将是fg。然后,如果我退出它(youtube),youtube进程仍然存在,但PCY将是bg。 就'S'而言,我发现所有进程都是'S',这意味着睡觉,即使我的YouTube应用程序当前处于活动状态。这是... ...
有没有人有任何线索:> THX
答案 0 :(得分:24)
这是我(未)受过教育的猜测:
PID - 进程ID
CPU% - CPU使用率
S - 状态(或可能状态)R =正在运行,S =正在睡眠
#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 - 策略 - 确定Android内存管理器应如何处理应用程序
FG - 前景 - 过程被认为是一个前景过程,不应该被杀死以释放内存
BG - 背景 - 进程被视为后台进程(未在前台主动运行,可能会被释放以释放内存)
答案 1 :(得分:2)
top sourcecode [top sourcecode] [1]
[1]:http://androidxref.com/4.0.4/xref/system/core/toolbox/top.c#442以获得每个值的计算方法的完整逻辑
答案 2 :(得分:-1)
在任何普通的linux / unix上尝试man top
(虽然我认为默认情况下Android没有人安装)。
实际上现在我看起来看起来man
页面上没有提到那些列标题,但重点是man
通常是开始寻找有关linux / unix的信息的最佳位置命令。
答案 3 :(得分:-1)
这page表示VSS和RSS的含义,但没有说明如何获得更有意义的PSS和USS