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 命令经常用来依照内存占用或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 经常用来跟踪某个命令或进程的执行信息
# 跟踪 sleep 10 秒系统的调用情况
strace -c sleep 10
# 跟踪进程执行情况
strace -p 10086 -tt -s 1024
-c 要跟踪的命令程序\
-p PID 进程ID\
-t 在输出的行首显示时间\
-s 指定进程信息的可显示的字符串长度\
-o 输出到指定文件
# 列出系统所有进程的树状结构并显示 pid 和 user 以及进程启动的完整命令行
pstree -pua
# 指定某进程下的树状结构
pstree -pua -s 10086
-p 显示进程所属PID\
-u 显示进程所属用户\
-a 显示命令信息\
-s 指定某 PID 为根进程列出树状