Linux命令top詳解
文章目錄
top命令幾乎是每個程式設計師都會用到的Linux命令。這個命令用來檢視Linux系統的綜合效能,比如CPU使用情況,記憶體使用情況。這個命令能幫助我快速定位程式的效能問題。但是之前對於這個命令的使用幾乎僅限於檢視下哪個程式使用的CPU最高,哪個程式佔用的記憶體最高。對於輸出的各個引數的含義也是一知半解,更不用說top的一些高階用法了。
top輸出引數的含義
[root@VM-0-15-centos ~]# top
top - 23:02:15 up 45 days, 10:05, 1 user, load average: 0.15, 0.05, 0.06
Tasks: 73 total, 2 running, 71 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1882752 total, 90700 free, 262008 used, 1530044 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1434172 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8353 root 20 0 202272 41900 3128 S 0.3 2.2 68:52.39 YDService
8476 root 20 0 611528 13472 1960 S 0.3 0.7 104:09.31 barad_agent
第一行表示系統的執行時間和平均負載
top - 23:02:15 up 45 days, 10:05, 1 user, load average: 0.15, 0.05, 0.06
- 23:02:15 15:34:12 表示系統的當前時間;
- up 45 days 表示這個Linux系統已經啟動45天
- 1 user 表示當前有兩個使用者登陸系統
- load average: 0.15, 0.05, 0.06
最近1、5和15分鐘內的平均負載 現實生產中,不會讓負載數值/CPU核數任意接近1的。一般當這個值達到0.8或者0.9時就需要分析分析原因了
第二行表示任務資訊
Tasks: 73 total, 2 running, 71 sleeping, 0 stopped, 0 zombie
Tasks — 任務(程式),系統現在共有73個程式,其中處於執行中的有2個,71個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有0個。
按t 可以關閉顯示這個任務資訊,再按下 t 可以開啟這個任務資訊
第三行表示CPU狀態
%Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- us 列顯示了使用者模式下所花費 CPU 時間的百分比。us的值比較高時,說明使用者程式消耗的 CPU 時間多,但是如果長期大於50%,需要考慮優化使用者的程式
- sy 列顯示了核心程式所花費的 CPU 時間的百分比。這裡
us + sy的參考值為80%,如果us+sy 大於 80%說明可能存在CPU不足
。 - ni 列顯示了使用者程式空間內改變過優先順序的程式佔用CPU百分比。
- id 列顯示了 CPU 處在空閒狀態的時間百分比。
- wa 列顯示了IO等待所佔用的CPU時間的百分比。這裡
wa 的參考值為30%,如果wa超過30%,說明IO等待嚴重,這可能是磁碟大量隨機訪問造成的,也可能磁碟或者磁碟訪問控制器的頻寬瓶頸造成的(主要是塊操作)。 這個wa和vmstat中的wa是相同含義。
- hi 硬體中斷佔用CPU
- si 軟體中斷佔用CPU
- st 丟失時間佔用CPU
在後臺開發中需要關注us,sy,id,wa等常用指標。
第四、五行記憶體使用情況#
KiB Mem : 1882752 total, 90700 free, 262008 used, 1530044 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1434172 avail Mem
第六行以下 程式的狀態監控
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8353 root 20 0 202272 41900 3128 S 0.3 2.2 68:52.39 YDService
8476 root 20 0 611528 13472 1960 S 0.3 0.7 104:09.31 barad_agent
- PID:程式ID,程式的唯一識別符號
- USER:程式所有者的實際使用者名稱。
- PR:程式的排程優先順序。這個欄位的一些值是’rt’。這意味這這些程式執行在實時態。
- NI:程式的nice值(優先順序)。越小的值意味著越高的優先順序。負值表示高優先順序,正值表示低優先順序
- VIRT:程式使用的虛擬記憶體。程式使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
- RES:駐留記憶體大小。駐留記憶體是任務使用的非交換實體記憶體大小。程式使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
- SHR:SHR是程式使用的共享記憶體。共享記憶體大小,單位kb
- S:這個是程式的狀態。它有以下不同的值:
- D - 不可中斷的睡眠態。
- R – 執行態
- S – 睡眠態
- T – 被跟蹤或已停止
- Z – 殭屍態
- %CPU:自從上一次更新時到現在任務所使用的CPU時間百分比。
- %MEM:程式使用的可用實體記憶體百分比。
- TIME+:任務啟動後到現在所使用的全部CPU時間,精確到百分之一秒。
- COMMAND:執行程式所使用的命令。程式名稱(命令名/命令列)
還有許多在預設情況下不會顯示的輸出,它們可以顯示程式的頁錯誤、有效組和組ID和其他更多的資訊。 按下 f
鍵盤可以調出更多顯示選項。按esc鍵返回top顯示頁。
top的一些命令列引數
- -b:批處理模式(batch mode),可輸出到管道、檔案。預設情況下-b會一直輸出
- -n N:限制輸出次數,可以用-nN指定輸出次數。 top -n 5輸出5次
- -d N:重新整理時間間隔。
- -p PID:監控指定程式。
- -Hp PID:監控指定程式和進行內執行緒資訊。(比較常用)
top一些互動鍵的說明
進入top頁面後,我們可以進行一些互動操作。下面是一些互動鍵的說明:
c 顯示完整的命令名。c為Command之意。
d 修改重新整理時間。d為Display之意。
u 顯示指定使用者相關程式。u為User之意。
P 按CPU使用排序。P為Processor(處理器)之意。
M 按記憶體使用排序。M為Momery之意。
F 排序(進入新的介面,並選擇排序的目標欄位)。
R 順序或逆序。
H 顯示執行緒
Z 以多色彩顯示top。
摘自:https://www.cnblogs.com/54chensongxia/p/12330592.html
相關文章
- linux top 命令詳解Linux
- linux top命令詳解Linux
- 【轉】linux-命令top詳解Linux
- Linux 常用命令之 top 命令詳解Linux
- Linux top詳解Linux
- Linux檢視程序命令ps和top示例詳解Linux
- top命令輸出詳解
- top命令資訊詳解
- Linux at命令詳解Linux
- linux命令詳解:sortLinux
- Linux screen 命令詳解Linux
- Linux find 命令詳解Linux
- Linux xargs 命令詳解Linux
- Linux sed 命令詳解Linux
- Linux awk 命令詳解Linux
- Linux iptables 命令詳解Linux
- Linux xattr 命令詳解Linux
- Linux locate 命令詳解Linux
- Linux netstat 命令詳解Linux
- Linux firewalld 命令詳解Linux
- Linux ss 命令詳解Linux
- Linux nc 命令詳解Linux
- Linux history 命令詳解Linux
- Linux sort 命令詳解Linux
- Linux diff命令詳解Linux
- 詳解Linux chkconfig命令Linux
- Linux chattr命令詳解Linux
- Linux umask 命令詳解Linux
- linux每日命令(37):top命令Linux
- Linux的scp命令詳解Linux
- Linux下 ln 命令詳解Linux
- Linux中awk命令詳解Linux
- linux之kill命令詳解Linux
- linux的zip命令詳解Linux
- Linux中DD命令詳解Linux
- 【Linux】命令expect使用詳解Linux
- Linux基礎命令詳解Linux
- Linux ps命令詳解,Linux檢視程序。Linux