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等工具。