Linux 中top命令的解读

    top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。

   top用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。



命令内容详解:

  技术分享

第一行:
top - 04:25:26  当前系统时间
up 3 min,       系统已经运行的时间(不间歇的运行)
1 user,         当前登录系统的用户数
load average: 0.01, 0.03, 0.00   平均负载,三个数分别表示1分钟、5分钟、15分钟的平均负载数

load average 表示时间段内活动的进程数,这些值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系。如果长时间超出了cpu数量那就要关注一下了。


第二行:
Tasks:   任务
97 total,   共有进程数
1 running,  正在运行的进程数
96 sleeping,   休眠状态下的进程数
0 stopped,     停止状态的进程数
0 zombie       僵尸进程数
第三行:
Cpu(s):  cpu状态
0.0%us,   用户占用的cpu时间百分比
0.0%sy,   系统占用的cpu时间百分比
0.0%ni,   改变优先级的进程占用cpu时间百分比
99.8%id,  cpu处于空闲状态的时间百分比
0.0%wa,   I/O等待所占用的cpu时间百分比
0.2%hi,   硬中断(Hardware IRQ)占用CPU的百分比
0.0%si,   软中断(Software Interrupts)占用CPU的百分比
0.0%st    被偷走的cpu所占百分比(一般都为0,不用关注)
第四行:
Mem:     内存状态
1030416k total,  物理内存总量  
79928k used,     被使用的内存
950488k free,    空闲的内存
10308k buffers   缓冲大小(即将写入磁盘的)
第五行:
Swap:     交换分区
2047996k total,   交换区总量     
0k used,          使用的大小
2047996k free,    空闲的大小
36296k cached     缓存大小(从磁盘中读取的)
第六行(空)
第七行:
 PID       进程id
 USER      进程所属的用户
 PR        进程优先级
 NI        进程优先值(nice值)
 VIRT      进程使用的虚拟内存总量,单位为kb
 RES       进程使用的、未被换出的物理内存大小,单位kb
 SHR       共享内存
 S         进程状态
 %CPU      上次更新到现在的CPU时间占用百分比
 %MEM      进程使用的物理内存百分比
 TIME+     进程使用的CPU时间总计,单位1/100秒
 COMMAND   进程名称(命令名/命令行)

其中,PR为进程的实时优先级(跟内核有关),范围0-99,数字越小优先级越低;

nice值的范围为 -20-19 ,这个值越小,那么对应的进程优先级越高,在top里,PR-NI=20, 默认启动一个进程,nice是0;

S进程状态:D=不可中断的睡眠状态  R=运行  S=睡眠  T=跟踪/停止  Z=僵尸进程。


在日常的运维中关注的较多的项是 :%CPU, %MEM, COMMAND 这三个,需要多注意。

在top状态下,按键盘数字“1”,可监控每个逻辑CPU的状况:

技术分享


在 top 状态下,按 “shift + m”, 可以按照内存使用大小排序

top -bn1 它表示非动态打印系统资源使用情况,即一次性全部把所有信息输出出来而非动态显示,可以用在shell脚本中 
top -c 最右侧的命令可以显示更详细的信息

技术分享






参考链接: http://www.jb51.net/article/40807.htm

提供帮助: http://www.aminglinux.com/bbs/forum.php

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。