在linux中,CoreFreq是一款監控CPU的專業工具,是一個用于英特爾64位處理器的CPU監控程序,并且支持Atom、Core2、Nehalem、SandyBridge、AMD 0F家族。CoreFreq用于從每個CPU核心檢索內部性能計數器,并且與收集數據的守護進程一起工作,一個小型控制臺客戶端連接到該守護程序并顯示收集的數據。
本教程操作環境:linux7.3系統、Dell G3電腦。
CoreFreq 是一個用于英特爾 64 位處理器的 CPU 監控程序,并且支持 Atom、Core2、Nehalem、SandyBridge 及以上、還有 AMD 0F 家族。
它的核心建立在內核模塊上,用于從每個 CPU 核心檢索內部性能計數器,并且與收集數據的守護進程一起工作,一個小型控制臺客戶端連接到該守護程序并顯示收集的數據。
CoreFreq CPU Monitoring
它提供了高精度的重新捕獲 CPU 數據的基礎工作:
-
核心頻率和比率;SpeedStep(EIST)、Turbo Boost、超線程(HTT)以及基本時鐘。
-
性能計數器結合時間戳計數器(TSC)、非停機核心周期(UCC)、非停機引用周期(URC)。
-
每周期或每秒的指令數:IPS、IPC 或 CPI。
-
CPU C 狀態: C0 C1 C3 C6 C7 – C1E – C1、C3 的自動/非降級。
-
帶有 Tjunction Max 的 DTS 溫度、熱監測TM1、TM2狀態。
-
包括用于自舉的高速緩存和應用程序 CPU 拓撲圖。
-
處理器特性、品牌、架構字符串。
注意:此工具更適用于 Linux 專家用戶和經驗豐富的系統管理員,但新手用戶可以逐步學習如何使用它。
它通過調用一個 Linux 內核模塊實現,它使用了:
-
匯編代碼保持盡可能接近性能計數器讀數。
-
按每個 CPU 影響的 slab 數據內存加上高分辨率定時器。
-
支持 CPU 暫停/恢復和 CPU 熱插拔。
-
使用共享內存來保護內核免受來自用戶空間程序的損害。
-
使用原子級同步的線程來消除互斥和死鎖。
要安裝 CoreFreq,你首先需要安裝依賴程序(開發工具)來編譯并從源碼構建程序。
$?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 源碼,進入下載文件夾并編譯構建程序:
????$?git?clone?https://github.com/cyring/CoreFreq.git ????$?cd?CoreFreq ????$?make
構建 CoreFreq 程序
注意:Arch Linux 用戶可以從 AUR 中安裝 corefreq-git。
現在運行以下命令從本地目錄加載 Linux 內核模塊,接著運行守護程序:
????$?sudo?insmod?corefreqk.ko ????$?sudo?./corefreqd
接著使用普通用戶啟動客戶端。
????$?./corefreq-cli
CoreFreq Linux CPU 監控
-
使用 F2 顯示屏幕頂部顯示的使用菜單。
-
使用 右 和 左 箭頭移動菜單選項卡。
-
使用 上和 下 箭頭選擇菜單項,然后單擊回車。
-
使用 F4 關閉程序。
-
使用 h 打開快速參考。
要查看所有的使用選項,請輸入以下命令:
????$?./corefreq-cli?-h
CoreFreq 選項:
????CoreFreq.??Copyright?(C)?2015-2017?CYRIL?INGENIERIE ????usage:??corefreq-cli?[-option?] ????-t??Show?Top?(default) ????-d??Show?Dashboard ????arguments:???? ????-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
要打印內核的信息,運行:
????$?./corefreq-cli?-k
打印 CPU 細節信息:
????$?./corefreq-cli?-u
你也可以實時監控 CPU 指令:
????$?./corefreq-cli?-i
如下啟用計數器追蹤:
????$?./corefreq-cli?-c
相關推薦:《Linux視頻教程》