【经验】Linux常用命令——进程相关
ps:显示当前进程的状态(非动态)
不同的风格
UNIX风格:选项前加“-”
BSD风格:选项前不加“-”
GNU风格:选项前加两个“--”
常用组合:
aux:显示所有与终端相关的(a)、显示所有与终端无关的、以用户为中心组织进程状态信息
显示内容:
%CPU:cpu时间占用百分比
%MEM:内存占用百分比
VSZ:虚拟内存集
RSS:常驻内存集
START:R(运行)、S(可中断睡眠)、D(不可中断睡眠)、T(停止)、Z(僵尸)、+(前台进程)、|(多线程进程)、N(低优先级进程)、<(高优先级进程)、s(进程领导者)
ef:显示所有进程(e)、显示完整格式的进程(f)
eFH:显示完整格式的进程(F)、以层级结构显示进程相关信息(H)
C:CPU占用百分比
PSR:运行于哪颗CPU上
-eo,-axo:自定义要显示的字段列表
pid:PID
ni:nice值
priority:优先级
psr:运行在哪颗CPU
pcpu:CPU利用率
ppid:父进程ID
rtprio:实时优先级
dstat
常用选项
-c:显示CPU相关信息
-C:指定CPU
-d:显示磁盘相关信息
-D:指定磁盘
-g:显示page相关信息
-m:显示memory相关信息
-n:显示Interface相关信息
-p:显示process相关信息
-r:显示io相关信息
-s:显示swapped相关信息
--tcp:显示tcp
--udp:显示udp
--raw:显示裸套接字
--socket:显示套接字
--ipc:显示进程间通信信息
--top-cpu:显示最占用CPU的进程
--top-io:显示最占用IO的进程
--top-mem:显示最占用内存的进程
uptime:显示系统运行了多长时间,系统的平均负载
top
-b 以批处理模式显示进程信息
-c 显示完整的命令
-d 屏幕刷新间隔时间
-I 忽略失效过程(?)
-s 保密模式
-S 累积模式
-i <时间> 设置间隔时间
-u <用户名> 指定用户名
-p <进程号> 指定进程
-n <次数> 循环显示的次数,到达次数后停止更新
前五行是系统整体情况的统计信息区:
第一行:任务队列信息,同uptime命令的执行结果(l)
系统当前时间、系统运行时间、系统登录用户、系统负载情况(1分钟、5分钟、15分钟)
第二行:任务(t)
共有xxx进程、正在运行的有x个、正在休眠的有x个、停止的有x个、僵尸进程x个
第三行:CPU信息(t)
用户空间占用CPU百分比、内核空间占用CPU百分比、改变过优先级的进程占用CPU百分比、空闲CPU百分比、IO等待占用CPU百分比、硬中断(Hardware IRQ)占用CPU百分比、软中断(Software Interrupts)占用CPU百分比
第四行:内存状态(m)
物理总内存容量、使用中的内存容量、空闲内存容量、缓存的内存容量
第五行:swap分区状态(m)
交换分区容量、使用中的交换分区容量、空闲交换分区容量、缓冲的交换分区容量
第七行开始是各进程的情况
PID:进程ID
USER:进程所有者
PR:进程优先级
NI:nice值,越低优先级越高
VIRT:虚拟内存总量,VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存的大小,RES=CODE+DATA
SHR:共享内存大小
S:进程状态,D=不可中断的睡眠状态、R=运行、S=睡眠、T=追踪/停止、Z=僵尸
(P)%CPU:上次更新到现在的CPU时间占用百分比
(M)%MEM:进程使用的物理内存百分比
(T)TIME+:进程使用的CPU时间总计
(c)COMMAND:进程名称
交互命令:
h:显示帮助信息
k:终止一个进程
i:忽略闲置和僵尸进程
q:推出程序
r:重新安排程序的优先级别
S:切换到累积模式
s:改变两次刷新的延迟时间
f/F:从当前显示中添加或者删除项目
o/O:改变显示项目的顺序
l:切换显示平均负载和启动时间信息
m:切换显示内存信息
t:切换显示进程和CPU状态信息
c:切换显示命令名称和完整命令行
M:根据驻留内存大小进程排序
P:根据CPU使用百分比大小进程排序
T:根据时间/累积时间进行排序
W:将当前设置写入~/.roprc文件中
使用技巧:
1. 在多U多核处理器中,按1可以监控每个处理器的状况
2. 高亮显示当前进程:y+b
3. 进程字段排序:x,通过shift + >或者shift + <可以调整字段
htop