閱讀776 返回首頁    go 阿裏雲 go 技術社區[雲棲]


CoreFreq:一款強大的監控 CPU 的專業工具

CoreFreq 是一個用於英特爾 64 位處理器的 CPU 監控程序,並且支持 Atom、Core2、Nehalem、SandyBridge 及以上、還有 AMD 0F 家族。

它的核心建立在內核模塊上,用於從每個 CPU 核心檢索內部性能計數器,並且與收集數據的守護進程一起工作,一個小型控製台客戶端連接到該守護程序並顯示收集的數據。

CoreFreq CPU Monitoring

CoreFreq CPU Monitoring

它提供了高精度的重新捕獲 CPU 數據的基礎工作:

  1. 核心頻率和比率;SpeedStep(EIST)、Turbo Boost、超線程(HTT)以及基本時鍾Base Clock。
  2. 性能計數器結合時間戳計數器Time Stamp Counter(TSC)、非停機核心周期Unhalted Core Cycles(UCC)、非停機引用周期Unhalted Reference Cycles(URC)。
  3. 每周期或每秒的指令數:IPS、IPC 或 CPI。
  4. CPU C 狀態: C0 C1 C3 C6 C7 - C1E - C1、C3 的自動/非降級UnDemotion。
  5. 帶有 Tjunction Max 的 DTS 溫度、熱監測Thermal Monitoring TM1、TM2 狀態。
  6. 包括用於自舉的高速緩存和應用程序 CPU 拓撲圖。
  7. 處理器特性、品牌、架構字符串。

注意:此工具更適用於 Linux 專家用戶和經驗豐富的係統管理員,但新手用戶可以逐步學習如何使用它。

CoreFreq 如何工作

它通過調用一個 Linux 內核模塊實現,它使用了:

  1. 匯編代碼保持盡可能接近性能計數器讀數。
  2. 按每個 CPU 影響的 slab 數據內存加上高分辨率定時器。
  3. 支持 CPU 暫停/恢複和 CPU 熱插拔。
  4. 使用共享內存來保護內核免受來自用戶空間程序的損害。
  5. 使用原子級同步的線程來消除互斥和死鎖。

如何在 Linux 中安裝 CoreFreq

要安裝 CoreFreq,你首先需要安裝依賴程序(開發工具)來編譯並從源碼構建程序。


  1. $ sudo yum group install 'Development Tools' [On CentOS/RHEL]
  2. $ sudo dnf group install 'Development Tools' [On Fedora 22+ Versions]
  3. # sudo apt-get install dkms git libpthread-stubs0-dev [On Debian/Ubuntu]

接下來克隆 Github 上 CoreFreq 源碼,進入下載文件夾並編譯構建程序:


  1. $ git clone https://github.com/cyring/CoreFreq.git
  2. $ cd CoreFreq
  3. $ make

構建 CoreFreq 程序

構建 CoreFreq 程序

注意:Arch Linux 用戶可以從 AUR 中安裝 corefreq-git

現在運行以下命令從本地目錄加載 Linux 內核模塊,接著運行守護程序:


  1. $ sudo insmod corefreqk.ko
  2. $ sudo ./corefreqd

接著使用普通用戶啟動客戶端。


  1. $ ./corefreq-cli

CoreFreq Linux CPU 監控

CoreFreq Linux CPU 監控

在上麵的界麵中,你可以使用這些快捷鍵:

  1. 使用 F2 顯示屏幕頂部顯示的使用菜單。
  2. 使用  和  箭頭移動菜單選項卡。
  3. 使用 和  箭頭選擇菜單項,然後單擊回車。
  4. 使用 F4 關閉程序。
  5. 使用 h 打開快速參考。

要查看所有的使用選項,請輸入以下命令:


  1. $ ./corefreq-cli -h

CoreFreq 選項:


  1. CoreFreq. Copyright (C) 2015-2017 CYRIL INGENIERIE
  2. usage: corefreq-cli [-option <arguments>]
  3. -t Show Top (default)
  4. -d Show Dashboard
  5. arguments: <left> <top> <marginWidth> <marginHeight>
  6. -c Monitor Counters
  7. -i Monitor Instructions
  8. -s Print System Information
  9. -M Print Memory Controller
  10. -m Print Topology
  11. -u Print CPUID
  12. -k Print Kernel
  13. -h Print out this message
  14. Exit status:
  15. 0 if OK,
  16. 1 if problems,
  17. >1 if serious trouble.
  18. Report bugs to labs[at]cyring.fr

要打印內核的信息,運行:


  1. $ ./corefreq-cli -k

打印 CPU 細節信息:


  1. $ ./corefreq-cli -u

你也可以實時監控 CPU 指令:


  1. $ ./corefreq-cli -i

如下啟用計數器追蹤:


  1. $ ./corefreq-cli -c

原文發布時間為:2017-02-26

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-25 18:02:31

  上一篇:go  加速老舊 Ubuntu 係統的技巧
  下一篇:go  如何在 CentOS 7 中使用 Nginx 和 PHP7-FPM 安裝 Nextcloud