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