有没有人知道'top'命令的结果在android中的含义?

时间:2012-04-07 02:07:52

标签: android linux command

我发现'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

4 个答案:

答案 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