top 命令用来监视操作系统的运行状态
top - 11:30:26 up 17 days, 2:23, 1 user, load average: 0.01, 0.03, 0.05
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 11570620 total, 4129816 free, 1367664 used, 6073140 buff/cache
KiB Swap: 5898236 total, 5826984 free, 71252 used. 9876108 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30169 root 20 0 6385152 415864 21444 S 3.0 3.6 142:17.41 java
1000 root 20 0 626776 3052 1936 S 1.0 0.0 159:00.19 NetworkManager
19610 root 20 0 162104 2344 1588 R 0.3 0.0 0:00.02 top
26348 root 20 0 0 0 0 S 0.3 0.0 0:01.32 kworker/2:0
1 root 20 0 52944 3908 1600 S 0.0 0.0 2:27.49 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.71 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root 20 0 0 0 0 S 0.0 0.0 2:57.95 ksoftirqd/0
8 root rt 0 0 0 0 S 0.0 0.0 0:00.16 migrati
第一行,当前时间、系统已经运行的时间、登录用户数、负载 ;第一行相当于uptime, 最后登录用户使用last
第二行,Tasks: 178 total进程数、1 running(1个前台)、177 sleeping(后台运行数)、 0 stopped(停止) 、 0 zombie(中断、僵尸进程,一定要清楚掉)
第三行,CPU信息
%Cpu(s)cpu使用率:
0.3 us用户,
0.3 sy(系统内核)
0.0 ni(通过改变优先级的进程占用百分比)
99.4 id(idle是空闲的意思)
0.0 wa(io等待占用百分比)
0.0 hi(硬中断占用百分比)
0.0 si(软件中断占用百分比)
0.0 st(虚拟机占用百分比)
第四行,内存信息,其他略,buff(缓冲)/cache
buffers:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;
通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储慢的数据先把数据存放到 buffer,
达到一定程度存储快的设备再读取buffer的数据,在此期间存储快的设备CPU可以干其他的事情。(内存->硬盘)
一句话,就是把数据从内存到硬盘的过程(内存->磁盘)
cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,
而Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。
一句话:就是CPU和内存之间的过程(CPU->内存)
第五行,Swap 其他略,当used不为0时,表示物理内存不够用
第六行:
PID:进程ID
USER: 进程用户
PR: 进程的优先级,数字越低,优先级越高
NI: nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb VIRT = SWAP + RES
RES:进程使用的,未被换出的物理内存大小,单位kb: RES = CODE + DATA
SHR:共享内存大小,单位kb
S:进程状态: D=不可中断的睡眠进程 R=运行 S=后台进程 R=跟踪/停止 Z=僵尸进程
%cpu: 占用CPU使用率
%MEM:占用物理内存使用率
TIME+:进程使用CPU的时间总计,单位 1/100秒
COMMAND: 进程名称/命令行
查找出僵尸进程
ps -A -o stat,ppid,pid,cmd |grep -iE z
A 参数列出所有进程
o 自定义输出字段
stat 状态
ppid 父进程pid
pid 进程pid
cmd 命令行
z 僵尸进程状态
快捷键
U键: 用户
k键:杀死进程ID
q: 退出
c:显示命令行
H: 显示线程信息
P:按CPU排序
M:按内存排序
----------------end