菜单
Linux系统进程监控与查看常用工具命令

ps

ps 命令经常用来查看进程信息

# 查看 redis 相关进程
ps aux | grep redis

# 按CPU使用率降序展示 前5
ps aux --sort=-%cpu | head -6

# 查看指定用户的进程
ps aux -u www

可配合 watch 命令来进行监控,如 watch -d -n 5 "ps aux | grep php-fpm | grep -v grep"-d 代表 diff 高亮显示每次刷新信息的不同;-n 参数后接数字代表间隔秒数执行命令)

top

top 命令经常用来依照内存占用或CPU占用率来查看和监控信息

top
# shift + p :按CPU使用排序
# shift + m :按内存使用排序

# 显示 COMMAND 列详情,并以 %MEM 列降序排列
top -c -o +%MEM

# 每隔30秒将监控信息输出到文件
top -c -o +%MEM -d 30 -b >> ~/top.out

-c 显示完整的进程对应的启动命令 command\ -o 根据字段排序 order, 字段名前的(+)代表降序又高到低默认,(-)代表升序\ -d 信息刷新时间 delay\ -b 批模式 batch mode,可以友好格式输出到文件\ -n 指定监控次数,number 次后将退出程序

💡

类 top 增强型工具推荐 htop 和 btop

strace

strace 经常用来跟踪某个命令或进程的执行信息

# 跟踪 sleep 10 秒系统的调用情况
strace -c sleep 10

# 跟踪进程执行情况
strace -p 10086 -tt -s 1024

-c 要跟踪的命令程序\ -p PID 进程ID\ -t 在输出的行首显示时间\ -s 指定进程信息的可显示的字符串长度\ -o 输出到指定文件

pstree

# 列出系统所有进程的树状结构并显示 pid 和 user 以及进程启动的完整命令行
pstree -pua

# 指定某进程下的树状结构
pstree -pua -s 10086

-p 显示进程所属PID\ -u 显示进程所属用户\ -a 显示命令信息\ -s 指定某 PID 为根进程列出树状