CoreFreq:一款監(jiān)控CPU的強大專業(yè)工具
CoreFreq 是一個用于英特爾 64 位處理器的 CPU 監(jiān)控程序,并且支持 Atom、Core2、Nehalem、SandyBridge 及以上、還有 AMD 0F 家族。
它的核心建立在內(nèi)核模塊上,用于從每個 CPU 核心檢索內(nèi)部性能計數(shù)器,并且與收集數(shù)據(jù)的守護進程一起工作,一個小型控制臺客戶端連接到該守護程序并顯示收集的數(shù)據(jù)。
CoreFreq CPU Monitoring
它提供了高精度的重新捕獲 CPU 數(shù)據(jù)的基礎工作:
- 核心頻率和比率;SpeedStep(EIST)、Turbo Boost、超線程(HTT)以及基本時鐘(Base Clock)。
- 性能計數(shù)器結(jié)合時間戳計數(shù)器(Time Stamp Counter)(TSC)、非停機核心周期(Unhalted Core Cycles)(UCC)、非停機引用周期(Unhalted Reference Cycles)(URC)。
- 每周期或每秒的指令數(shù):IPS、IPC 或 CPI。
- CPU C 狀態(tài): C0 C1 C3 C6 C7 - C1E - C1、C3 的自動/非降級(UnDemotion)。
- 帶有 Tjunction Max 的 DTS 溫度、熱監(jiān)測(Thermal Monitoring) TM1、TM2 狀態(tài)。
- 包括用于自舉的高速緩存和應用程序 CPU 拓撲圖。
- 處理器特性、品牌、架構(gòu)字符串。
注意:此工具更適用于 Linux 專家用戶和經(jīng)驗豐富的系統(tǒng)管理員,但新手用戶可以逐步學習如何使用它。
CoreFreq 如何工作
它通過調(diào)用一個 Linux 內(nèi)核模塊實現(xiàn),它使用了:
- 匯編代碼保持盡可能接近性能計數(shù)器讀數(shù)。
- 按每個 CPU 影響的 slab 數(shù)據(jù)內(nèi)存加上高分辨率定時器。
- 支持 CPU 暫停/恢復和 CPU 熱插拔。
- 使用共享內(nèi)存來保護內(nèi)核免受來自用戶空間程序的損害。
- 使用原子級同步的線程來消除互斥和死鎖。
如何在 Linux 中安裝 CoreFreq
要安裝 CoreFreq,你首先需要安裝依賴程序(開發(fā)工具)來編譯并從源碼構(gòu)建程序。
- $ sudo yum group install 'Development Tools' [On CentOS/RHEL]
- $ sudo dnf group install 'Development Tools' [On Fedora 22+ Versions]
- # sudo apt-get install dkms git libpthread-stubs0-dev [On Debian/Ubuntu]
接下來克隆 Github 上 CoreFreq 源碼,進入下載文件夾并編譯構(gòu)建程序:
- $ git clone https://github.com/cyring/CoreFreq.git
- $ cd CoreFreq
- $ make
構(gòu)建 CoreFreq 程序
注意:Arch Linux 用戶可以從 AUR 中安裝 corefreq-git。
現(xiàn)在運行以下命令從本地目錄加載 Linux 內(nèi)核模塊,接著運行守護程序:
- $ sudo insmod corefreqk.ko
- $ sudo ./corefreqd
接著使用普通用戶啟動客戶端。
- $ ./corefreq-cli
CoreFreq Linux CPU 監(jiān)控
在上面的界面中,你可以使用這些快捷鍵:
- 使用 F2 顯示屏幕頂部顯示的使用菜單。
- 使用 右 和 左 箭頭移動菜單選項卡。
- 使用 上和 下 箭頭選擇菜單項,然后單擊回車。
- 使用 F4 關(guān)閉程序。
- 使用 h 打開快速參考。
要查看所有的使用選項,請輸入以下命令:
- $ ./corefreq-cli -h
CoreFreq 選項:
- CoreFreq. Copyright (C) 2015-2017 CYRIL INGENIERIE
- usage: corefreq-cli [-option <arguments>]
- -t Show Top (default)
- -d Show Dashboard
- arguments: <left> <top> <marginWidth> <marginHeight>
- -c Monitor Counters
- -i Monitor Instructions
- -s Print System Information
- -M Print Memory Controller
- -m Print Topology
- -u Print CPUID
- -k Print Kernel
- -h Print out this message
- Exit status:
- 0 if OK,
- 1 if problems,
- >1 if serious trouble.
- Report bugs to labs[at]cyring.fr
要打印內(nèi)核的信息,運行:
- $ ./corefreq-cli -k
打印 CPU 細節(jié)信息:
- $ ./corefreq-cli -u
你也可以實時監(jiān)控 CPU 指令:
- $ ./corefreq-cli -i
如下啟用計數(shù)器追蹤:
- $ ./corefreq-cli -c
有關(guān)更多信息和用法,請訪問 CoreFreq 的 Github 倉庫:https://github.com/cyring/CoreFreq 。
在本文中,我們評估了一個強大的 CPU 監(jiān)控工具,這對于 Linux 專家或經(jīng)驗豐富的系統(tǒng)管理員來說可能比新手用戶更有用。
通過下面的評論欄與我們分享你對這個工具或任何相關(guān)的想法。
作者簡介:
Aaron Kili 是 Linux 和 F.O.S.S 愛好者,將來的 Linux 系統(tǒng)管理員和網(wǎng)絡開發(fā)人員,目前是 TecMint 的內(nèi)容創(chuàng)作者,他喜歡用電腦工作,并堅信分享知識。