CoreFreq – Linux 系统强大的 CPU 监控工具
CoreFreq是一个用于英特尔 64 位处理器的CPU 监控程序,支持 Atom、Core2、Nehalem、SandyBridge 及以上版本、AMD Family 0F 等架构。
它的核心建立在一个内核模块上,该模块有助于从每个 CPU 内核检索内部性能计数器,并与收集数据的守护进程一起工作,并且一个小型控制台客户端链接到守护进程并显示收集的数据。
它为高精度地重新捕获 CPU 数据提供了基础:
- 核心频率和比率;SpeedStep(EIST)、Turbo Boost、超线程(HTT)以及基本时钟。
- 性能计数器与时间戳计数器 (TSC)、未暂停核心周期 (UCC)、未暂停引用周期 (URC) 结合使用。
- 每周期或每秒的指令数,IPS、IPC 或 CPI。
- CPU C 状态 C0 C1 C3 C6 C7 – C1E – C1 C3 的自动/取消降级。
- DTS 温度以及 Tjunction Max、热监控 TM1 TM2 状态。
- 拓扑图包括用于引导的缓存和应用程序 CPU。
- 处理器特性、品牌和架构字符串。
注意:此工具对于专业的 Linux 用户和经验丰富的系统管理员来说更有用和更合适,但是,新手用户可以逐渐学习如何有目的地使用它。
CoreFreq 如何工作
它通过调用 Linux 内核模块来运行,然后使用:
- asm 代码以使性能计数器的读数尽可能接近。
- 每个 CPU,影响平板数据内存加上高分辨率计时器。
- 符合暂停/恢复和 CPU 热插拔。
- 共享内存用于保护内核免受程序的用户空间部分的影响。
- 线程的原子同步,以消除互斥和死锁。
如何在 Linux 中安装 CoreFreq
要安装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
注意:Arch Linux 用户可以从 AUR安装corefreq-git 。
现在运行以下命令从本地目录加载 Linux 内核模块,然后加载守护进程:
$ sudo insmod corefreqk.ko $ sudo ./corefreqd
然后,以用户身份启动客户端。
$ ./corefreq-cli
从上面的界面,您可以使用快捷键:
F2
显示使用菜单,如屏幕顶部所示。Right
和Left
箭头在菜单选项卡上移动。Up
和Down
箭头选择菜单项,然后单击 [ Enter ]。F4
将关闭该程序。h
将打开快速参考。
要查看所有使用选项,请输入以下命令:
$ ./corefreq-cli -h
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
要打印有关内核的信息,请运行:
$ ./corefreq-cli -k
打印 CPU 识别详细信息:
$ ./corefreq-cli -u
您还可以实时监控CPU指令:
$ ./corefreq-cli -i
启用计数器跟踪如下:
$ ./corefreq-cli -c
有关更多信息和使用方法,请访问 CoreFreq Github 存储库:https://github.com/cyring/CoreFreq
在本文中,我们回顾了一个强大的 CPU 监控工具,与新手用户相比,它对 Linux 专家或经验丰富的系统管理员可能更有用。
通过下面的反馈表与我们分享您对此命令工具的想法或任何相关想法。