Tasks: 180 total, 1 running, 175 sleeping, 4 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 16432184k total, 12142192k used, 4289992k free, 179888k buffers
Swap: 2096440k total, 388k used, 2096052k free, 9772516k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2472 stanley 25 0 2577m 506m 13m S 0.0 3.2 0:31.67 java
4730 stanley 22 0 2482m 389m 10m S 0.0 2.4 0:14.33 java
4166 stanley 22 0 2483m 378m 10m S 0.0 2.4 0:14.04 java
6012 stanley 22 0 2537m 338m 10m S 0.0 2.1 0:14.01 java
4609 root 15 0 210m 63m 4088 S 0.0 0.4 0:02.81 snmpd
3359 stanley 17 0 4418m 42m 8892 S 0.0 0.3 57:46.11 jstatd
6186 root 18 0 225m 22m 5988 S 0.0 0.1 3:41.76 dsm_om_connsvc3
2472 stanley 25 0 2577m 506m 13m S 0.0 3.2 0:31.72 java
4730 stanley 22 0 2482m 389m 10m S 0.0 2.4 0:14.34 java
字 段
|
说 明
|
PID
|
进程id编号
|
USER
|
进程所有者的用户名
|
PRI
|
进程的优先级
|
SIZE
|
进程大小,包括它的代码、栈和数据区域,以千字节为单位
|
RSS
|
进程使用的内存总量,以千字节为单位
|
SHARE
|
进程使用的共享内存数量
|
STAT
|
进程的状态,通常R表示运行,S表示休眠
|
%CPU
|
自从最近的屏幕更新以来,这个进程使用的CPU百分比
|
%MEM
|
这个进程使用的内存百分比
|
TIME
|
自从进程启动以来,这个进程使用的CPU时间量
|
CPU
|
最近执行进程的CPU
|
COMMAND
|
正在执行的命令
|
交互命令指南,更多参考:http://os.51cto.com/art/201005/200652.htm, http://www.huanxiangwu.com/363/linux-top
1.全局命令
回车、空格 : 刷新显示信息
?、h : 帮助
= : 移除所有任务显示的限制
A : 交替显示模式切换
B : 粗体显示切换
d、s : 更改界面刷新时间间隔
G : 选择其它窗口/栏位组
I : Irix或Solaris模式切换
u、U : 监控指定用户相关进程
k : 结束进程
q : 退出top
r : 重新设定进程的nice值
W : 存储当前设定
Z : 改变颜色模板
2.摘要区命令
l : 平均负载及系统运行时间显示开关
m : 内存及交换空间使用率显示开关
t : 当前任务及CPU状态显示开关
1 : 汇总显示CPU状态或分开显示每个CPU状态
3.任务区命令
外观样式
b : 黑体/反色显示高亮的行/列。控制x和y交互命令的顯示樣式。
x : 高亮显示排序的列
y : 高亮显示正在运行的任务
z : 彩色/黑白显示。
显示内容
c : 任务执行的命令行或进程名称
f、o : 增加和移除进程信息栏位及调整进程信息栏位显示顺序
H : 显示线程
S : 时间累计模式
u : 监控指定用户相关进程
任务显示的数量
i : 显示空闲的进程
n或# : 设置任务显示最大数量
任务排序
M : 按内存使用率排序
N : 按PID排序
P : 按CPU使用率排序
T : 按Time+排序
< : 按当前排序栏位左边相邻栏位排序
> : 按当前排序栏位右边相邻栏位排序
F 或 O : 选择排序栏位
R : 反向排序
问题1:ps和top命令的%CPU含义
一直以为ps命令中的”%CPU”也是指实时的CPU使用率,所以一直都用它来做cacti监控process的cpu使用率。但是上周发现有点不对,ps的”%CPU”与top或者vmstat 的”%CPU”不一样。
ps命令的man里面的解释:
CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is unlikely to add up to exactly 100%.
top命令的man的解释:
k: %CPU -- CPU usage The task's share of the elapsed CPU time since the last screen update, expressed as a percentage of total CPU time. In a true SMP environment, if 'Irix mode' is Off, top will operate in number of CPUs. You toggle 'Irix/Solaris' modes with the 'I' interactive command.
我的理解是,top中的进程cpu使用率,是实时的CPU使用率,也就是
单位时间内进程使用的CPU时间/单位时间
而ps命令中的cpu使用率,反映的是该进程启动以来使用系统资源的情况:
进程启动以来使用的CPU时间/进程启动以来的实际时间
两者有很大的区别。
(上述所说的ps和top命令所在的操作系统是debian)。
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/365611,如需转载请自行联系原作者