ps 是 Unix/Linux 系统中的一个非常常用的命令,用于显示有关当前运行的进程的信息。它可以提供详细的进程列表及其状态、资源使用等信息
ps [options]
以下是一些常用的 ps 命令选项以及它们的描述:
ps
ps -e
ps -f
ps -l
ps -u root
ps -ef
ps aux
ps aux --sort=-%mem
ps aux --sort=-%cpu
ps -C sshd
命令选项可以组合使用,以显示更详细或特定的进程信息:
ps -ef | grep nginx
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem
ps -eo pid,ppid,cmd,%mem,%cpu | awk '\$3 ~ /nginx/'
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 10'
USER:进程所属的用户。 PID:进程 ID。 %CPU:进程使用的 CPU 百分比。 %MEM:进程使用的内存百分比。 VSZ:虚拟内存使用量(以 KB 为单位)。 RSS:常驻内存集大小(以 KB 为单位)。 TTY:进程的控制终端(如果没有控制终端,则显示 ?)。 STAT:进程状态码,可能的状态码包括: R:运行 S:睡眠 D:不可中断睡眠(通常是 I/O) Z:僵尸进程 T:停止(由作业控制信号) W:进入内存交换(从内核 2.6 开始,已经废弃) X:死进程(从内核 2.6 开始,已经废弃) 额外的状态码包括: <:高优先级进程 N:低优先级进程 L:有内存锁定页 s:是会话领导 l:多线程 +:在前台的进程组 START:进程启动时间。 TIME:进程累计的 CPU 时间。 COMMAND:启动进程的命令及其参数。
UID:进程所属用户的用户 ID。 PID:进程 ID。 PPID:父进程 ID。 C:CPU 使用率(同一系统上的相对值)。 STIME:进程启动时间。 TTY:终端类型。 TIME:进程累计的 CPU 时间。 CMD:启动进程的命令及其参数。
PRI:进程的优先级。 NI:进程的 nice 值(影响进程的优先级)。 WCHAN:进程正在等待的内核函数。 SZ:进程使用的交换页面数。 RSS:常驻内存集大小(以 KB 为单位)。 ADDR:内存地址。 FLAGS:任务标志。
ps -ef #或 ps aux
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
ps aux | grep 'Z' # 或 ps -eo stat,pid,ppid,cmd | grep -w Z 或 ps -ef | grep defunct
ps -u username #如 ps -u root
ps -p -o pid,ppid,user,%cpu,%mem,cmd #如,查看 PID 为 6379 的进程信息: ps -p 6379 -o pid,ppid,user,%cpu,%mem,cmd
ps -ef | grep process_name #如,查找所有 nginx 进程: ps -ef | grep nginx
ps -ef --forest
watch -n 1 'ps aux --sort=-%cpu | head -10'
ps -eo pid,comm,etime,pcpu,pmem,pri,nice,stat,vsize,rss,wchan
ps aux --sort=-%cpu | head -10
ps -p -o pid,ppid,user,%cpu,%mem,cmd
确认进程是否可以终止或优化。如果需要,使用 kill 命令终止进程:
kill -9
ps aux --sort=-%mem | head -10
识别占用内存最高的进程,然后使用 ps -p 查看详细信息:
ps -p -o pid,ppid,user,%cpu,%mem,cmd
确认进程是否可以终止或优化。如果需要,使用 kill 命令终止进程:
kill -9