Linux 中CPU 和 GPU 的行為監控
由於 Steam(包括 Steam Play,即 Proton)和一些其他的發展,GNU/Linux 正在成為越來越多計算機使用者的日常遊戲平臺的選擇。也有相當一部分使用者在遇到像視訊編輯或圖形設計等(Kdenlive 和 Blender 是這類應用程式中很好的例子)資源消耗型計算任務時,也會使用 GNU/Linux。
不管你是否是這些使用者中的一員或其他使用者,你也一定想知道你的電腦 CPU 和 GPU 能有多熱(如果你想要超頻的話更會如此)。如果是這樣,那麼繼續讀下去。我們會介紹兩個非常簡單的命令來監控 CPU 和 GPU 溫度。
我的裝置包括一臺 Slimbook Kymera 和兩臺顯示器(一臺 TV 和一臺 PC 監視器),使得我可以用一臺來玩遊戲,另一臺來留意監控溫度。另外,因為我使用 Zorin OS,我會將關注點放在 Ubuntu 和 Ubuntu 的衍生髮行版上。
為了監控 CPU 和 GPU 的行為,我們將利用實用的 watch 命令在每幾秒鐘之後動態地得到讀數。
在 Linux 中監控 CPU 溫度
對於 CPU 溫度,我們將結合使用 watch 與 sensors 命令。一篇關於此工具的圖形使用者介面版本的有趣文章已經在 It’s FOSS 中介紹過了。然而,我們將在此處使用命令列版本:
watch -n 2 sensors
watch 保證了讀數會在每 2 秒鐘更新一次(當然,這個週期值能夠根據你的需要去更改):
Every 2,0s: sensors iwlwifi-virtual-0 Adapter: Virtual device temp1: +39.0°C acpitz-virtual-0 Adapter: Virtual device temp1: +27.8°C (crit = +119.0°C) temp2: +29.8°C (crit = +119.0°C) coretemp-isa-0000 Adapter: ISA adapter Package id 0: +37.0°C (high = +82.0°C, crit = +100.0°C) Core 0: +35.0°C (high = +82.0°C, crit = +100.0°C) Core 1: +35.0°C (high = +82.0°C, crit = +100.0°C) Core 2: +33.0°C (high = +82.0°C, crit = +100.0°C) Core 3: +36.0°C (high = +82.0°C, crit = +100.0°C) Core 4: +37.0°C (high = +82.0°C, crit = +100.0°C) Core 5: +35.0°C (high = +82.0°C, crit = +100.0°C)
除此之外,我們還能得到如下資訊:
- 我們有 5 個核心正在被使用(並且當前的最高溫度為 37.0℃)。
- 溫度超過 82.0℃ 會被認為是過熱。
- 超過 100.0℃ 的溫度會被認為是超過臨界值。
根據以上的溫度值我們可以得出結論,我的電腦目前的工作負載非常小。
在 Linux 中監控 GPU 溫度
現在讓我們來看看顯示卡。我從來沒使用過 AMD 的顯示卡,因此我會將重點放在 Nvidia 的顯示卡上。我們需要做的第一件事是從 Ubuntu 的附加驅動 中下載合適的最新驅動。
在 Ubuntu(Zorin 或 Linux Mint 也是相同的)中,進入“軟體和更新 > 附加驅動”選項,選擇最新的可用驅動。另外,你可以新增或啟用顯示卡的官方 ppa(通過命令列或通過“軟體和更新 > 其他軟體”來實現)。安裝驅動程式後,你將可以使用 “Nvidia X Server” 的 GUI 程式以及命令列工具 nvidia-smi(Nvidia 系統管理介面)。因此我們將使用 watch 和 nvidia-smi:
watch -n 2 nvidia-smi
與 CPU 的情況一樣,我們會在每兩秒得到一次更新的讀數:
Every 2,0s: nvidia-smi Fri Apr 19 20:45:30 2019 +-----------------------------------------------------------------------------+ | Nvidia-SMI 418.56 Driver Version: 418.56 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 106... Off | 00000000:01:00.0 On | N/A | | 0% 54C P8 10W / 120W | 433MiB / 6077MiB | 4% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1557 G /usr/lib/xorg/Xorg 190MiB | | 0 1820 G /usr/bin/gnome-shell 174MiB | | 0 7820 G ...equest-channel-token=303407235874180773 65MiB | +-----------------------------------------------------------------------------+
從這個表格中我們得到了關於顯示卡的如下資訊:
- 它正在使用版本號為 418.56 的開源驅動。
- 顯示卡的當前溫度為 54.0℃,並且風扇的使用量為 0%。
- 電量的消耗非常低:僅僅 10W。
- 總量為 6GB 的 vram(視訊隨機存取儲存器),只使用了 433MB。
- vram 正在被 3 個程序使用,他們的 ID 分別為 1557、1820 和 7820。
大部分這些事實或數值都清晰地表明,我們沒有在玩任何消耗系統資源的遊戲或處理大負載的任務。當我們開始玩遊戲、處理視訊或其他類似任務時,這些值就會開始上升。
結論
即便我們有 GUI 工具,但我還是發現這兩個命令對於實時監控硬體非常的順手。
你將如何去使用它們呢?你可以通過閱讀他們的 man 手冊來學習更多關於這些工具的使用技巧。
你有其他偏愛的工具嗎?在評論裡分享給我們吧 ;)。