Linux Top 命令详解

最近服务器经常出问题,所以用命令 top 分析其性能,在这里对其做个记录,便于以后查看。

top 是常用的性能分析命令,基本和 windows 的任务管理器类似,下面详细介绍使用方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
> top
top - 10:36:26 up 72 days, 22:21, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 81 total, 1 running, 80 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1883844 total, 99960 free, 375164 used, 1408720 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1306676 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 43276 2556 1348 S 0.0 0.1 4:19.02 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 1:20.24 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 9:45.47 rcu_sched
10 root rt 0 0 0 0 S 0.0 0.0 0:18.19 watchdog/0

下面将其参数做下详细的说明:

1
top - 10:36:26 up 72 days, 22:21,  1 user,  load average: 0.00, 0.01, 0.05

10:36:26:当前系统时间
up 72 days, 22:21:表示系统开机到现在的运行时间
1 user:当前登录系统的用户个数
load average:分别是1分钟、5分钟、15分钟的系统负载情况,
load average 数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

1
Tasks:  81 total,   1 running,  80 sleeping,   0 stopped,   0 zombie

可以根据其字面意思得到:系统现在共有 80 个进程,其中处于运行中的有 1 个,80 个在休眠(sleep),stoped 状态的有 0 个,zombie 状态(僵尸)的有 0 个。

1
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

CPU 的运转情况,后面值依次意思为:
用户空间占用CPU的百分比 ,内核空间占用CPU的百分比,改变过优先级的进程占用CPU的百分比,空闲CPU百分比,IO等待占用CPU的百分比,#,#

1
KiB Mem :  1883844 total,    99960 free,   375164 used,  1408720 buff/cache

内存的使用情况:1883844 总内存,99960 可使用内存,375164 已使用,1408720 缓存内存

1
KiB Swap:        0 total,        0 free,        0 used.  1306676 avail Mem

swap交换分区信息:0 total 总量,0 free 未使用,0 used 已使用

下面就是详细的进程信息:

1
2
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                      
1 root 20 0 43276 2556 1348 S 0.0 0.1 4:19.02 systemd

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时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)

©版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 & 作者信息

Happy Coding

坚持原创技术分享,您的支持将鼓励我继续创作!
Flyertutor WeChat Pay

WeChat Pay

Flyertutor Alipay

Alipay