涉及参考文档
一、命令参数
详细参数请看: man ps
- -A 列出所有的进程
- -w 显示加宽可以显示较多的资讯
- -au 显示较详细的资讯
- -aux 显示所有包含其他使用者的行程
输出格式:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
- USER: 进程拥有者(用户)
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的内存使用率
- VSZ: 占用的虚拟内存大小
- RSS: 占用的内存大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
记得,更多查看man ps 帮助手册
%cpu 对应——> pcpu
%mem 对应——> pmem
args, cmd, comm, command, fname, ucmd, ucomm 效果几乎一致。相当于Linux中 alias(别名)
关系对应表:
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U user USER
%a args COMMAND
%c comm COMMAND
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ
二、命令实战
1、根据用户过滤进程
ps -eo pid,user,args --sort user
2、获取 服务主进程的Pid,服务开始启动时间,服务生存时长,CPU使用百分比,内存使用百分比,用户属主
ps -eo pid,lstart,etime,pcpu,pmem,ruser,cmd |grep httpd
3、查看以用户产生的进程数
ps -u zabbix |wc -l
4、根据PID找查进程
ps -L 8914
5、 将系统进程按内存占用大小前10排列显示出来
ps -eo "%C : %p : %z : %a"|sort -k5 -nr |head -n10
6、将系统进程按CPU占用大小前10排列显示出来
ps -eo "%C : %p : %z : %a"|sort -nr |head -n 10