linux top命令实时动态显示计算机的性能。类似于windows系统的任务管理器。
top [options]
options 参数说明
-d 每个几秒更新,默认3秒
-i 不显示任何闲置或僵死进程
-p 通过进程ID监控某个进程的活动
下面是top命令的输出结果,下面会详细讲解top命令里面的信息参数。
[root@localhost ~]# top
top - 17:48:06 up 1:54, 2 users, load average: 0.00, 0.01, 0.04
Tasks: 121 total, 2 running, 119 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995672 total, 671232 free, 194532 used, 129908 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 660880 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
698 root 20 0 273164 4876 3728 S 0.3 0.5 0:10.22 vmtoolsd
2021 root 20 0 162108 2244 1548 R 0.3 0.2 0:00.06 top
1 root 20 0 128176 6812 4180 S 0.0 0.7 0:01.40 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
top - 17:48:06 up 1:54, 2 users, load average: 0.00, 0.01, 0.04
- top - 17:48:06 当前时间
- up 1:54 系统已运行了多久
- 2 users 当前登录用户数
- load average: 0.00, 0.01, 0.04 负载均衡 ,任务队列的平均长度,1分钟、5分钟、15分钟前到现在的平均数
Tasks: 121 total, 2 running, 119 sleeping, 0 stopped, 0 zombie
- Tasks: 121 total 进程总数
- 2 running 2个正在运行的进程数
- 119 sleeping 睡眠的进程数
- 0 stopped 停止的进程数
- 0 zombie 僵死的进程数,进程已死,但是内存未释放
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- %Cpu(s): 0.0 us 用户占用cpu的百分比
- 0.3 sy 系统占用cpu百分比
- 0.0 ni 用户进程占用cpu百分比
- 99.7 id 空闲cpu百分比
- 0.0 wa 等待输入输出的cpu占用百分比
- 0.0 hi 硬中断占用百分比
- 0.0 si 软中断占用百分比
- 0.0 st 虚拟机占用cpu的百分比
KiB Mem : 995672 total, 671232 free, 194532 used, 129908 buff/cache
- 第KiB Mem 行 : 占用内存的统计
- 995672 total 物理内存总量
- 671232 free 空闲的物理内存大小
- 194532 used 已使用的物理内存大小
- 129908 buff/cache 系统缓存的总量
KiB Swap: 2097148 total, 2097148 free, 0 used. 660880 avail Mem
- 第KiB Swap行:分区内存的统计
- 2097148 total 总量
- 2097148 free 空闲
- 0 used 已使用的交换区大小
- 660880 avail Mem 缓存总量
进程的所有统计字段信息说明,默认情况下是显示比较重要的PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND。
序号 列名 含义
a PID 进程id
b PPID 父进程id
c RUSER Real user name
d UID 进程所有者的用户id
e USER 进程所有者的用户名
f GROUP 进程所有者的组名
g TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
h PR 优先级
i NI nice值。负值表示高优先级,正值表示低优先级
j P 最后使用的CPU,仅在多CPU环境下有意义
k %CPU 进程使用的CPU的百分比
l TIME 进程使用的CPU时间总计,单位秒
m TIME+ 进程使用的CPU时间总计,单位1/100秒
n %MEM 进程使用的物理内存百分比
o VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
p SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
q RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
r CODE 可执行代码占用的物理内存大小,单位kb
s DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
t SHR 共享内存大小,单位kb
u nFLT 页面错误次数
v nDRT 最后一次写入到现在,被修改过的页面数。
w S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
x COMMAND 执行的命令
y WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
z Flags 任务标志,参考 sched.h
先执行top命令,然后输入f,就进入到进程信息列设置页面,如下:
Fields Management for window 1:Def, whose current sort field is %CPU
Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
'd' or <Space> toggles display, 's' sets sort. Use 'q' or <Esc> to end!
* PID = Process Id TGID = Thread Group Id
* USER = Effective User Name ENVIRON = Environment vars
* PR = Priority vMj = Major Faults delta
* NI = Nice Value vMn = Minor Faults delta
* VIRT = Virtual Image (KiB) USED = Res+Swap Size (KiB)
* RES = Resident Size (KiB) nsIPC = IPC namespace Inode
* SHR = Shared Memory (KiB) nsMNT = MNT namespace Inode
* S = Process Status nsNET = NET namespace Inode
* %CPU = CPU Usage nsPID = PID namespace Inode
* %MEM = Memory Usage (RES) nsUSER = USER namespace Inode
* TIME+ = CPU Time, hundredths nsUTS = UTS namespace Inode
* COMMAND = Command Name/Line
PPID = Parent Process pid
UID = Effective User Id
RUID = Real User Id
RUSER = Real User Name
SUID = Saved User Id
SUSER = Saved User Name
GID = Group Id
GROUP = Group Name
PGRP = Process Group Id
TTY = Controlling Tty
TPGID = Tty Process Grp Id
SID = Session Id
nTH = Number of Threads
P = Last Used Cpu (SMP)
TIME = CPU Time
SWAP = Swapped Size (KiB)
CODE = Code Size (KiB)
DATA = Data+Stack (KiB)
nMaj = Major Page Faults
nMin = Minor Page Faults
nDRT = Dirty Pages Count
WCHAN = Sleeping in Function
Flags = Task Flags <sched.h>
CGROUPS = Control Groups
SUPGIDS = Supp Groups IDs
SUPGRPS = Supp Groups Names
注意:*
号代表显示的列,按上下方向键,可以定位字段。
在需要显示的列上按d键,出现*
则代表会显示该列。
在需要排序的列上按s键,Fields Management for window 1:Def, whose current sort field is %CPU
第一行的末尾出现该字段,则代表以该字段排序
按q键退出