一、什麼是 top 指令
top
是 Linux 系統下常用的性能監控工具,它用於以實時方式顯示系統總體運行情況及各個進程的資源佔用情況。通過 top 指令,可以快速了解系統的運行狀態,察看 CPU、內存、I/O 等關鍵性能指標,以及了解每個進程的 CPU、內存、線程等佔用情況,幫助我們及時發現系統異常情況。
二、如何使用 top 指令
下面我們以 CentOS 系統為例,介紹 top 指令的使用方法:
$ top
top
會按照資源使用率從高到低的順序顯示當前系統運行的進程,每個進程都會展示 CPU 佔用率、內存佔用率、運行狀態、運行時間、進程 ID 等信息。我們可以看到最上面的幾條記錄,它們是 CPU、內存、swap 的概略信息:
top - 05:38:19 up 2 days, 2:33, 1 user, load average: 2.55, 2.35, 2.15 Tasks: 389 total, 8 running, 381 sleeping, 0 stopped, 0 zombie %Cpu(s): 15.6 us, 1.9 sy, 0.0 ni, 79.8 id, 2.6 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 16064896 total, 7399676 free, 5780848 used, 2885372 buff/cache KiB Swap: 1048572 total, 992836 free, 55192 used. 8841872 avail Mem
其中:
- load average 表示系統的負載;
- Task 表示進程數量;
- %Cpu(s) 表示 CPU 的使用情況;
- KiB Mem 表示內存使用情況。
除了上面的系統概況外,top 指令還會列出各進程的實時 CPU、內存等資源佔用情況:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1244 root 20 0 36.075g 2.983g 16012 S 281.2 19.0 27:45.86 java 20850 root 20 0 0.390t 1.298g 27200 S 43.8 8.3 423:27.65 java 19128 mysql 20 0 538.5m 92.8m 12148 S 17.2 0.6 709:49.90 mysqld 25151 nginx 20 0 159488 27572 4364 R 7.3 0.2 0:00.09 php-fpm 23 root 20 0 0 0 0 S 1.3 0.0 13:23.38 ksoftirqd/2
其中每一列的含義如下:
- PID:進程 ID;
- USER:運行進程的用戶;
- %CPU:進程佔用 CPU 資源的百分比;
- %MEM:進程佔用內存資源的百分比;
- TIME+:進程運行的時間。
我們還可以通過一些快捷鍵改變 top 界面的顯示內容,例如:
- 輸入
P
,將根據 CPU 百分比大小降序排列進程; - 輸入
M
,將根據內存佔用大小降序排列進程。
三、top 命令的常用選項
top 指令有一些比較常用的參數,下面我們來介紹一些常用的參數:
1、-d/–delay=秒數
此選項指定 top 每次更新的時間間隔,默認為 5 秒。
2、-n/–iterations=次數
此選項指定 top 的更新次數,例如,top -n 3
將輸出 top 的前三次更新結果。
3、-p/–pid=進程號
此選項指定 top 只顯示指定進程 ID 的信息,進程 ID 以逗號分隔,例如,top -p 1234,5678
顯示進程 ID 為 1234 和 5678 的進程信息。
四、top 命令的實戰使用
在實際運維工作中,top 指令是非常常用的,下面我們以一些例子來介紹 top 在實戰中的使用。
1、查看進程佔用 CPU 資源最高的前 10 條記錄
top -bn 1 -o %CPU | head -n 17
此命令將會輸出 CPU 佔用率最高的前 10 個進程。
2、實時監控某個進程的佔用情況
top -p 進程ID -d 5
此命令將會每隔 5 秒刷新一次進程 ID 為指定ID的進程佔用信息。
3、查看指定用戶運行的進程
top -U 用戶名
此命令將會輸出用戶名下的所有進程佔用情況。
4、查看系統的負載情況
top -bn 1 | grep "load average:"
此命令將會輸出系統的負載情況。
五、小結
top 指令是 Linux 系統下非常實用的性能監控工具,其可以幫助我們快速定位進程資源佔用較高的原因,從而優化系統的運行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150947.html