Linux命令:ps查看系统运行进程信息命令详解
最近更新时间 2020-01-03 16:53:01
在Linux操作系统中,ps命令(process status)可以显示当前运行的进程。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。
语法
ps [options]
常用命令
1. 查看当前用户下的所有进程。
ps
PID TTY TIME CMD 15779 pts/0 00:00:00 bash 15798 pts/0 00:00:00 ps
2. 查看所有进程并根据名称过滤。
ps -A|grep firewalld
6519 ? 00:00:02 firewalld
3. 查看所有以root用户运行的详细进程信息。
ps -U root -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 6206 0.0 0.1 62044 1076 ? Ssl Jan02 0:00 /sbin/auditd root 2 0.0 0.0 0 0 ? S Jan02 0:00 [kthreadd] ......
4. 以BSD格式显示所有进程。
ps axu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 6206 0.0 0.1 62044 1076 ? Ssl Jan02 0:00 /sbin/auditd root 2 0.0 0.0 0 0 ? S Jan02 0:00 [kthreadd] ......
列名 | 内容 |
---|---|
%CPU | 进程正在使用多少个CPU |
%MEM | 进程正在使用多少内存 |
ADDR | 进程的内存地址 |
C或CP | CPU使用率和调度信息 |
COMMAND* | 进程名,包括参数(如果有的话) |
NI | nice值 |
F | 标志 |
PID | 进程ID |
PPID | 父进程ID |
PRI | 进程优先级 |
RSS | 真实内存用量 |
S or STAT | 进程状态码 |
START or STIME | 进程启动时间 |
SZ | 虚拟内存用量 |
TIME | 总CPU用量 |
TT或TTY | 与进程相关的终端 |
UID或USER | 进程所有者的用户名 |
WCHAN | 进程所等待事件的内存地址 |
5. 按树形目录显示进程信息。
ps -e --forest
PID TTY TIME CMD 2 ? 00:00:00 kthreadd 3 ? 00:00:01 \_ ksoftirqd/0 5 ? 00:00:00 \_ kworker/0:0H 7 ? 00:00:00 \_ migration/0 ......
6. 查看CPU或内存高的进程。
查看CPU占用情况
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
查看内存占用情况
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
PID PPID CMD %MEM %CPU 6519 1 /usr/bin/python -Es /usr/sb 3.3 0.0 7111 1 /usr/bin/python2 -Es /usr/s 1.9 0.0 6394 1 /usr/lib/polkit-1/polkitd - 1.2 0.0 ......
7. 使用watch工具结合ps命令实时监控内存使用情况。
watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'
Every 1.0s: ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head PID PPID CMD %MEM %CPU 6519 1 /usr/bin/python -Es /usr/sb 3.3 0.0 7111 1 /usr/bin/python2 -Es /usr/s 1.9 0.0 ......
注:Ctrl+c 或 Ctrl+g退出watch终端。
注:ps命令只能查看静态信息,如果需要实时查看系统运行情况,可以使用htop、top或者glances等工具。