2021-05-12 14:32:11
Linux top命令批次處理模式講解
命令簡述
top命令-是UNIN&&Linux系統自帶的系統管理工具。可以實時顯示系統效能(負載、進程、執行時間)等多個指標。流行的網路教學是以互動式(實時)方式進行教學 ,實際上top還自帶的強大的batch mode,來幫助你事半功倍。通常在互動式(實時)模式,只需要在shell下直接執行top即可,如下
互動式真實模式與批次處理模式
實時模式好處是可以實時的觀察系統狀態,但是缺點也是明顯
- 在不考慮使用第三方監控工具的情況下,如何記錄(檢視)歷史資料?如何排除干擾只關注某項值?
比如我需要知道在某段時刻,系統執行了多少個tasks,實時可見,但歷史資料已流逝。 - 資料的排版再處理,也就是資料的二次加工。既然要加工,首先資料有持久化的儲存。儲存的資料轉為輸入--然後才能用你需要的邏輯呼叫處理,處理完成後再次輸出。
這些可以通過批次處理模式來處理。
top-批次處理模式在-SHELL下通過選項b來控制
-b : runs top in batch mode
批次處理模式範例
1、匯出一次的TOP輸出
top -b -n 1 > top.txt
cat top.txt你會驚奇的發現top的內容居然可以輸出到file
巧用linux-top的批次處理模式
2、-n引數連續獲取快照
top -b -n 5 > top-5iterations.txt
cat top-5iterations.txt | grep Tasks獲取5次快照,然後過濾出tasks任務
3、crond(計劃任務進程)進程的輸出
$ pidof crond #獲取pid
$ top -p 536 -b -n3 > cron.txt #輸出
$ cat cron.txt
4、每2秒,共8次獲取進程使用情況
for i in {1..8}; do sleep 2 && top -b -p 536 -n1 | tail -1 ; done >> cron.txt
cat cronta.txt在實際效果中,為了讓大家了解每列的含義,我顯示了每列的頭部欄位名,如下
5、當前系統進程CPU使用情況排序
top -b -o +%CPU | head -n 22 #排列最佔用CPU的進程
本文只是拋磚引玉,具體使用請大家積極開動腦筋,以上測試系統CentOS 7.2 其它LLinux髮型版請自行測試。
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-03/151242.htm
相關文章