本文已参与 ⌈新人创作礼⌋ 活动,一起开启掘金创作之路
命令: top - display Linux processes
用途:资源统计
格式讲解:
top - 09:02:23 up 17 min, 2 users, load average: 0.00, 0.01, 0.05
上次刷新时间 开机时长 登陆用户数 平均负载 1分钟,5分钟,15分钟
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
进程数 总数 运行中 休眠中 (挂起的) 僵尸进程
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
cpu情况 user system nice idle wait 硬中断 软中断 虚拟机占有
KiB Mem : 1867048 total, 1573584 free, 134952 used, 158512 buff/cache
单位KB 用作内核缓存的内存量
KiB Swap: 2097148 total, 2097148 free, 0 used. 1559860 avail Mem
神奇的f F参数,可定制要查看的列
列名 含义
PID 进程id
PPID 父进程id
RUSER Real user name
UID 进程所有者的用户id
USER 进程所有者的用户名
GROUP 进程所有者的组名
TTY 启动进程的终端名。不是从终端启动的进程则显示为 ?
PR 优先级
NI nice值。负值表示高优先级,正值表示低优先级
P 最后使用的CPU,仅在多CPU环境下有意义
%CPU 上次更新到现在的CPU时间占用百分比
TIME 进程使用的CPU时间总计,单位秒
TIME+ 进程使用的CPU时间总计,单位1/100秒
%MEM 进程使用的物理内存百分比
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP 进程使用的虚拟内存中,被换出的大小,单位kb。
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATACODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR 共享内存大小,单位kb
nFLT 页面错误次数
nDRT 最后一次写入到现在,被修改过的页面数。
S 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
COMMAND 命令名/命令行
WCHAN 若该进程在睡眠,则显示睡眠中的系统函数名
Flags 任务标志,参考 sched.h
帮助信息查看(h):
Help for Interactive Commands - procps-ng version 3.3.10
Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off.
Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
l,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
f,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
n,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
C,... . Toggle scroll coordinates msg for: up,down,left,right,home,end
k,r Manipulate tasks: 'k' kill; 'r' renice
d or s Set update interval
W,Y Write configuration file 'W'; Inspect other output 'Y'
q Quit
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue
常用参数:
-u 只显示某个用户的
-p(pid) 某个进程的
-d 刷新时间间隔(s)
top -u postfix / top u postfix
top -p 1345 -p 2322 / top -p 2,3,8,9
top -d 10
top执行中常用命令:
0 隐藏值为0的项
1 显示各个cpu线程的情况
s 改变刷新间隔 Change delay
P 以cpu使用情况排序
M 以内存使用情况排序
L 定位字符串 Locate string
k 杀死某个进程(默认第一个)PID to signal/kill
f 添加或删除项目
q 退出
杀死一个被stopped的进程
jobs -l 或者 ps -elf | grep T
top中的k杀死 或 kill -9