atop 命令是一款監控 Linux 系統資源與進程的工具,非內部命令,須要安裝。python
[root@centos7 ~]# atop -bash: atop: command not found [root@centos7 ~]# yum install atop -y #Debian && Ubuntu apt-get install atop #Fedora dnf install atop
atop 是以必定的頻率記錄系統的運行狀態,所採集的數據包含系統資源(CPU、內存、磁盤和網絡)使用狀況和進程運行狀況,並能以日誌文件的方式保存在磁盤中,服務器出現問題後,咱們可獲取相應的atop日誌文件進行分析,atop是一款開源軟件。centos
atop -w file [-S] [-a] [interval [samples]] atop -r [file] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-flags]
進程圖的快捷鍵緩存
g #默認輸出 m #內存相關輸出 d #磁盤相關輸出 n #網絡相關輸出 c #命令行輸出 u #查看對應的用戶資源使用狀況 p #顯示全部每一個進程的全部信息佔用狀況(disk、mem、io) P(大寫) #正則匹配,顯示全部匹配到的進程 q #退出
[root@centos7 ~]# atop ATOP - centos7 2021/03/29 08:33:28 ---------------- 10s elapsed PRC | sys 0.18s | user 0.35s | #proc 95 | #tslpu 0 | #zombie 0 | #exit 0 | CPU | sys 1% | user 3% | irq 0% | idle 96% | wait 0% | ipc notavail | CPL | avg1 0.27 | avg5 0.13 | avg15 0.13 | csw 1088 | intr 954 | numcpu 1 | MEM | tot 972.3M | free 203.3M | cache 563.1M | buff 2.1M | slab 83.8M | hptot 0.0M | SWP | tot 2.0G | free 2.0G | swcac 0.0M | | vmcom 266.0M | vmlim 2.5G | NET | transport | tcpi 1 | tcpo 1 | udpi 1 | udpo 1 | tcpao 0 | NET | network | ipi 17 | ipo 3 | ipfrw 0 | deliv 17 | icmpo 1 | NET | ens33 ---- | pcki 20 | pcko 5 | sp 0 Mbps | si 6 Kbps | so 1 Kbps | PID SYSCPU USRCPU RDELAY VGROW RGROW RDDSK WRDSK ST EXC THR S CPUNR CPU CMD 1/1 18378 0.08s 0.33s 0.11s 0K 0K 0K 0K -- - 3 S 0 4% python3 27620 0.04s 0.02s 0.00s 0K 0K 0K 0K -- - 1 R 0 1% atop 27664 0.04s 0.00s 0.02s 0K 0K 0K 0K -- - 1 S 0 0% kworker/0:1 404 0.02s 0.00s 0.05s 0K 0K 0K 0K -- - 1 R 0 0% xfsaild/dm-0 872 0.00s 0.00s 0.00s 0K 0K 0K 0K -- - 5 S 0 0% tuned 19670 0.00s 0.00s 0.00s 0K 0K 0K 0K -- - 1 S 0 0% sshd 870 0.00s 0.00s 0.00s 0K 0K 0K 0K -- - 3 S 0 0% rsyslogd 1 0.00s 0.00s 0.00s 0K 0K 0K 0K -- - 1 S 0 0% systemd 6 0.00s 0.00s 0.09s 0K 0K 0K 0K -- - 1 S 0 0% ksoftirqd/0 9 0.00s 0.00s 0.29s 0K 0K 0K 0K -- - 1 R 0 0% rcu_sched 26820 0.00s 0.00s 0.00s 0K 0K 0K 0K -- - 1 S 0 0% kworker/0:2
ATOP列:該列顯示了主機名、信息採樣日期和時間點 PRC列:該列顯示進程總體運行狀況 sys、usr字段 #進程在內核態和用戶態的運行時間 proc字段 #進程總數 zombie字段 #僵死進程的數量 exit字段 #atop採樣週期期間退出的進程數量 CPU列:該列顯示CPU總體(即多核CPU做爲一個總體CPU資源)的使用狀況 sys、usr字段 #CPU被用於處理進程時,進程在內核態、用戶態所佔CPU的時間比例 irq字段 #CPU被用於處理中斷的時間比例 idle字段 #CPU處在徹底空閒狀態的時間比例 wait字段 #CPU處在「進程等待磁盤IO致使CPU空閒」狀態的時間比例 cpu列:該列顯示某一核cpu的使用狀況 CPL列:該列顯示CPU負載狀況 avg一、avg5和avg15字段 #過去1分鐘、5分鐘和15分鐘內運行隊列中的平均進程數量 csw字段 #上下文交換次數 intr字段 #中斷髮生次數 MEM列:該列顯示內存的使用狀況 tot字段 #物理內存總量 free字段 #空閒內存的大小 cache字段 #用於頁緩存的內存大小 buff字段 #用於文件緩存的內存大小 slab字段 #系統內核佔用的內存大小 SWP列:該列顯示交換空間的使用狀況 tot字段 #交換區總量 free字段 #空閒交換空間大小 PAG列:該列顯示虛擬內存分頁狀況 swin、swout字段 #換入和換出內存頁數 DSK列:該列顯示磁盤使用狀況 sda字段 #磁盤設備標識 busy字段 #磁盤忙時比例 read、write字段 #讀、寫請求數量 NET列:顯示網絡情況,包括傳輸層(TCP和UDP)、IP層以及各活動的網口信息 XXXi 字段 #各層或活動網口收包數目 XXXo 字段 #各層或活動網口發包數目