linux top命令解释

经常会用到top命令来查看系统相关信息来分析系统慢、死机的情况。这里做个解释:
 
统计信息区
这五行是系统整体的统计信息。
 
第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下
top - 23:26:37 up  3:33,  1 user,  load average: 0.09, 0.83, 1.72
 
23:26:37 :当前时间
up  3:33 :系统运行时间,格式为时:分
  1 user :当前登录用户数
  load average: 0.09, 0.83, 1.72 :系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
 
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:
Tasks:  90 total,   1 running,  89 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.0%us,  1.0%sy,  0.0%ni, 98.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
 
Tasks:  90 total :进程总数
1 running :正在运行的进程数
89 sleeping :睡眠的进程数
0 stopped :停止的进程数
0 zombie :僵尸进程数
Cpu(s):  1.0%us  :用户空间占用CPU百分比
1.0%sy :内核空间占用CPU百分比
0.0%ni :用户进程空间内改变过优先级的进程占用CPU百分比
98.0%id :空闲CPU百分比
0.0%wa :等待输入输出的CPU时间百分比
0.0%hi :
0.0%si :
0.0%st :
 
第四、五行为内存信息。内容如下:
Mem:    507536k total,   398944k used,   108592k free,      688k buffers
Swap:   979928k total,        0k used,   979928k free,   267248k cached
 
507536k total :物理内存总量
398944k used :使用的物理内存总量
108592k free :空闲内存总量
688k buffers :用作内核缓存的内存量
Swap: 979928k total :交换区总量
0k used :使用的交换区总量
979928k free :空闲交换区总量
267248k cached :缓冲的交换区总量
内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,
该数值即为这些 内容已存在于内存中 的交换区的大小。
相应的内存再次被换出时可不必再对交换区写入。
 
进程信息区
统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3636 mysql     20   0  314m  43m 6684 S  0.0  8.7   1:12.90 mysqld
 5673 root      20   0 50736  12m 6980 S  0.0  2.5   0:02.23 apache2
 5693 www-data  20   0 50816 7676 1880 S  0.0  1.5   0:00.02 apache2
 
PID:进程id
USER:进程所有者的用户名
PR:优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位秒
COMMAND:命令名/命令行
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据