當前位置:
首頁 > 知識 > 在Linux終端中監控CPU利用率:Stress Terminal UI(s-tui)

在Linux終端中監控CPU利用率:Stress Terminal UI(s-tui)


Stress Terminal UI 是工作在Linux終端下的一款監控 CPU 的工具。它以圖形化的方式在終端顯示CPU溫度、 頻率、利用率和使用功率。


截圖


程序運行截圖如下:


它能做什麼


Stress Terminal UI 提供以下功能:




  • 可視化 CPU 頻率、利用率、溫度和使用功率



  • 非常輕量級並且只使用極少的資源



  • 顯示熱節流設置引起的CPU性能下降



  • 不需要顯示伺服器,例如 X-server



  • 可以以壓力測試模式運行


使用方法


運行命令:



s-tui


或者



sudo s-tui


簡單安裝


pip 方式(x86 + ARM)


最新版本的s-tui可以使用pip安裝,執行如下命令:



sudo pip install s-tui


如果你無法使用sudo命令,執行如下



pip install s-tui --user


如果你要在樹莓派上安裝s-tui,你需要先安裝python-dev。


使用選項



*******s-tui 使用方法*******


usage: s-tui [-h] [-d] [-c] [-t] [-j] [-nm] [-v] [-ct CUSTOM_TEMP]


TUI界面


側邊欄包含所顯示圖形的控制項。在側邊欄的底部,以文本形式顯示更多信息。


    *使用箭頭或「HJKL」切換選擇側邊欄

    *使用modes選擇壓力模式或者常規模式


    *你可以在Stress options"中調整壓力測試的默認參數


    *從"Temp Sensors"菜單中選擇不同的溫度感測器


    *使用"Refresh"更改各個參數刷新時間


    *使用『reset』重置圖標和統計數據。


    *通過[X]複選框切換顯示的圖形


    *如果系統感測器不可用, 則顯示為N/A


    *系統支持的情況下,你可以使用utf8按鈕使圖表顯示更為平滑


    *按下「q」鍵或者使用「Quit」按鈕退出s-tui


    * 使用`s-tui --help` 可以查看幫助和詳細的CLI選項

可選參數:    


  -h, --help:顯示幫助信息並退出


  -d, --debug:輸出調試信息到_s-tui.log文件


  -c, --csv:保存狀態信息到csv文件


   -t, --terminal:顯示一行統計數據


   -j, --json:以json格式顯示一行統計數據


   -nm, --no-mouse:TTY設備禁用滑鼠


   -v, --version:顯示版本


  -ct CUSTOM_TEMP, --custom_temp CUSTOM_TEMP:自定義溫度感測器,格式為: <感測器>,<數值>,例如:


  感測器,it8792-isa-0a60:溫度1: +47.0C,溫度2: +35.0C,溫度3: +37.0C

  使用it8792-isa-0a60,


  使用:-ct it8792,0 可以設置溫度1                             


-cf CUSTOM_FAN, --custom_fan CUSTOM_FAN:自定義風扇感測器,和自定義溫度一樣的格式,例如:


  感測器:thinkpad-isa-0000


  適配器:ISA adapter


  轉速1:1975 RPM


  使用: -cf thinkpad,0 可以設置轉速1


依賴庫


s-tui是一款優秀的CPU監控工具.如果您要使用壓力測試模式,需要先安裝 Stress,關於stress的設置選項會在s-tui中顯示(可選的),使用如下命令安裝Stress:


sudo apt-get install stress



配置


s-tui是一個獨立的應用程序,開箱即用,不需要運行額外的配置文件。但是,如果您想在某個監控參數(例如CPU溫度)超過設定閾值時運行指定腳本的話,則需要創建一個配置目錄。這個目錄默認會在~/.config/s-tui中生成。


選擇<保存設置<Save Settings>會將當前配置保存到~/.config/s-tui/s-tui.conf。如果您想恢復默認值,只需刪除文件即可。


添加閾值腳本


當監控的某個參數到達設定閾值時,

比如CPU溫度,

s-tui可以運行任意的shell腳本。你可以在目錄~/.config/s-tui/hooks.d中添加shell腳本來達到這種效果。腳本的名稱有如下可選,可以根據您感興趣的參數來選擇。




  • temperaturesource.sh:當達到CPU溫度閾值時該腳本會被觸發


如果s-tui在hoos.d文件夾中檢索到以特定名字命名的腳本文件,並且指定的參數超過了設置閾值時,s-tui會每30s運行一次該腳本。


需要注意的是目前s-tui只支持對CPU溫度參數配置腳本文件。


其他系統安裝方法


Ubuntu


使用pip可以安裝最新版本的s-tui,Ubuntu下安裝pip使用如下命令:



sudo apt-get install gcc python-dev python-pip


pip安裝完成後,使用如下命令安裝s-tui:



 (sudo) pip install s-tui


支持ppa 安裝(xenial,bionic),命令如下:



sudo add-apt-repository ppa:amanusk/python-s-tui


sudo apt-get update


sudo apt-get install python3-s-tui


Arch-Linux


s-tui支持AUR包安裝,有兩個版本:




  • s-tui 是最新的釋放版本,由DonOregano維護。



  • s-tui-git 是git的主幹分支版本,有MauroMombelli維護


使用如下命令安裝:



yaourt -S s-tui


源碼安裝


從源碼安裝s-tui,首先從git上克隆代碼:



git clone https://github.com/amanusk/s-tui.git


然後安裝依賴庫,需要安裝以下庫:



(sudo) pip install urwid


(sudo) pip install psutil


安裝stress庫(可選)



sudo apt-get install stress



最後執行.py文件



(sudo) python -m s_tui.s_tui


您可選擇是否集成FIRESTARTER模塊(通過submodule方式集成,不適用於所有系統)


FIRESTARTER是一個強大的工具,可以強化您的系統性能。如果您願意的話,可以將FIRESTARTER子模塊集成到s-tui中。 


編譯FIRESTARTER過程如下:



git submodule init


git submodule update


cd ./FIRESTARTER


./code-generator.py


make


上述步驟完成後,你可以選擇:




  • 使得s-tui可以訪問FIRESTARTER,例如在/usr/local/bin中建立一個軟連接到FIRESTARTER。



  • 使用python -m s_tui.s_tui從主目錄運行s-tui,在s-tui中會有運行FIRESTARTER的選項


兼容性


s-tui使用 psutil檢測您的系統硬體信息,如果您的系統硬體不支持的話,有可能無法看到全部的信息。




  • 對於intel機器


        以root用戶運行s-tui,當對CPU的多個核新進行壓力測試時,每個核都可支持最大CPU Turbo Boost頻率


        以非root用戶運行s-tui,只有單核支持CPU Turbo Boost頻率




  • 第二代英特爾酷睿處理器以及更新的(Sandy Bridge)系列CPU支持CPU功耗讀取。



  • 經測試s-tui可以在樹莓派3,2,1上運行。


Q&A 



    Q:s-tui與 htop有什麼區別?


    A:s-tui不是像htop這樣的進程監視器。s-tui目的是監控CPU統計數據,並且可以在系統重負載下測試CPU的性能(就像


    AIDA64壓力測試,不是任務管理器)。


    Q:什麼功能需要sudo許可權?


    A:最高Turbo頻率的變化取決於使用多少個內核。當使用所有內核時,為了準確讀取最高Turbo頻率,則需要使用Sudo許可權。


    Q:我的溫度圖表不可用。


    A:不同系統讀取CPU溫度的感測器不同。如果您看不到溫度讀數,則有可能您的系統感測器還不支持。您可以嘗試在cli


    界面手動設置感測器(請參閱 --help),或從「Temp Sensors」菜單中選擇一個感測器。


    Q:我的溫度圖表顯示錯誤。


    A:溫度的讀取會使用默認的感測器,在某些系統上,這個感測器有可能讀取錯誤的溫度值。您可以嘗試在cli界面手動設置傳


    感器(請參閱 --help),或從「Temp Sensors」菜單中選擇一個感測器。


    Q:我使用tty,沒有X-server,s-stui啟動後退出了。


    A:s-tui默認情況下會處理滑鼠輸入。在某些系統上會導致s-tui崩潰。請嘗試運行:s-tui --no-mouse。


貢獻



歡迎新問題和提交PRs,請在github問題部分查看需要解決的問題。 


我會儘可能在更多的系統上測試新版本,但肯定無法全部覆蓋所有系統。


打賞



如果你喜歡這個項目,請在GitHub參與進來。


如果你真的喜歡它,就把它分享給你的朋友和同事。


如果你真的很喜歡這項工作,給點小費吧 :)


ETH賬號:0xc169699A825066f2F07E0b29C4082094b32A3F3e。




英文原文:https://github.com/amanusk/s-tui


譯者:少年



喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python程序員 的精彩文章:

PyPI正式支持Markdown
pytz - 西方最快的步槍

TAG:Python程序員 |