top命令用法

top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。

top的使用方式 top [-d number] | top [-bnp]

参数解释:

-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。 -b:以批次的方式执行top。 -n:与-b配合使用,表示需要进行几次top命令的输出结果。 -p:指定特定的pid进程号进行观察。

在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):

1 产看cpu 个数,及各核的使用情况     
P 按照 进程 cpu 的使用率排序 (默认情况)
M 按照 内存的使用情况排序
q 退出
shift +< 上一页
shift +> 下一页
r 调整nice 值 renice
f 选择显示那一列
F,O 按那一列排序
k 杀死一个进程
c 显示command详细信息

top各输出参数含义

下面是使用top命令来进行性能检测的截图

Linux中top命令参数详解_物理内存

一、top前5行统计信息

第1行:top - 21:09:34 up 2 days,  9:49,  2 users,  load average: 3.90, 3.19, 2.49
第1行是任务队列信息,其参数如下:

内容 

 含义

 21:09:34

 表示当前时间

 up 2 days,  9:49

 表示系统运行时间

 2 users 

当前登录用户数 

 load average: 3.90, 3.19, 2.49

 系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第2行:Tasks: 532 total,   2 running, 515 sleeping,   0 stopped,  15 zombie
第3行:%Cpu(s): 14.1 us,  5.6 sy,  0.0 ni, 80.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,其参数如下:

内容

含义

532 total

进程总数

2 running

正在运行的进程数

515 sleeping

睡眠的进程数

0 stopped

停止的进程数

15 zombie

僵尸进程数

14.1 us

用户空间占用CPU百分比,这个值是当前机器逻辑CPU占用百分比累加值/CPU逻辑核数所得,可以使用top 1命令查看各核CPU使用情况

5.6 sy

内核空间占用CPU百分比,这个值是当前机器逻辑CPU占用百分比累加值/CPU逻辑核数所得,可以使用top 1命令查看各核CPU使用情况

0.0 ni

用户进程空间内改变过优先级的进程占用CPU百分比

80.3 id

空闲CPU百分比

0.0 wa

等待输入输出的CPU时间百分比

0.0 hi

硬中断(Hardware IRQ)占用CPU的百分比

0.0 si

软中断(Software Interrupts)占用CPU的百分比

0.0 st

 

第4行:KiB Mem : 32780544 total, 7673504 free, 8104836 used, 17002204 buff/cache
第5行:KiB Swap: 0 total, 0 free, 0 used. 24058588 avail Mem
第4、5行为内存信息
其参数如下:

内容

含义

32780544 total

物理总内存

7673504 free

空闲内存总量

8104836 used

使用的物理内存总量

17002204 buff/cache

用作内核缓存的内存量

KiB Swap

交换空间

24058588 avail Mem 

代表可用于进程下一次分配的物理内存数量

缓冲的交换区总量即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

计算可用内存数有一个近似的公式:
第四行的free + 第四行的buffers + 第五行的cached

二、进程信息

列名

含义

PID

进程ID

USER

进程所有者的用户名

PR

优先级

NI 

nice值,负值表示高优先级,正值表示低优先级

VIRT 

进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

SWAP

进程使用的虚拟内存中,被换出的大小,单位kb

RES

 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

S

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

%CPU

上次更新到现在的CPU时间占用百分比

%MEM

进程使用的物理内存百分比

TIME+

进程使用的CPU时间总计,单位1/100秒

COMMAND

命令行

其他

默认进入top时,各进程是按照CPU的占用量来排序的。

1、在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况:


Linux中top命令参数详解_top命令_02

2.附一张服务器资源使用量很高top命令监控指标图, load average/逻辑CPU数量>5,各逻辑CPU空闲CPU百分比都为0。

Linux中top命令参数详解_换出_03

参考文献

2、http://www.zhimengzhe.com/linux/298422.html