在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
譯者:少年
※PyPI正式支持Markdown
※pytz - 西方最快的步槍
TAG:Python程序員 |