top命令参数详解
1、命令字段详解
top命令的输出如下:

2、第一行:系统运行时间和平均负载
当前时间、系统已运行时间、当前登录用户的数量、最近5、10、15分钟内的平均负载
第二行:任务
任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务
第三行:cpu状态

3、第四行:内存
全部可用内存、已使用内存、空闲内存、缓冲内存
第五行:swap
全部、已使用、空闲和缓冲交换空间
第七行至N行:各进程任务的的状态监控


4、交互命令
按“h”或者“?”,会显示帮助,如下

5、Z:改变颜色;B:加粗
t:显示和隐藏任务/cpu信息;m:内存信息
1:监控每个逻辑CPU的状况;
f:进入字段显示配置模式,可增加或者移除显示字段,按相应的字母新增或去除;o:进入字段顺序设置模式,可配置显示位置顺序,按相应的字母往下移动,按“shift+相应的字母”往上移动 ---------常用
F:进入字段排序配置模式,可设置排序的字段;
R:正常排序/反向排序;
s:设置刷新的时间--------常用
u:输入用户,显示用户的任务
i:忽略闲置和僵死进程。这是一个开关式命令。
r:重新安政够排一个进程的优先级别。系统提示用户输入需要季墨称改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
c:切换显示命令名称和完整命令行。
M:根据驻留内存大小进行排序。-------------常用
P:根据CPU使用百分比大小进行排序。-----------常用
H:显示线程
6、常用参数与命令
d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。
p:通过指定监控进程ID来仅仅监趴彩控某个进程的状态。
top –p PID
-H: 设置线程模式
显示某个进程所有活跃的线程消耗情况
top -H -p pid
按f、再按j把P调出来,P代表”Last used CPU”

7、设置线程模式下:第二行的tasks指的是线程个数

8、疑问
如下这个java进程设置的最大可用内存为128m,但是这里virt达到了2478m,RES达到了295m,为什么?
参考答案:http://www.cnblogs.com/seasonsluo/p/java_virt.html
结论:
VIRT高是因为分配了太多地址空间导致。
一般来说不用太在意VIRT太高,因为你有16EB的空间可以使用。
