CoreFreq:一款强大的监控 CPU 的专业工具

2024年 7月 19日 67.4k 0

CoreFreq 是一个用于英特尔 64 位处理器的 CPU 监控程序,并且支持 Atom、Core2、Nehalem、SandyBridge 及以上、还有 AMD 0F 家族。

CoreFreq:一款强大的监控 CPU 的专业工具-1

它的核心建立在内核模块上,用于从每个 CPU 核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并显示收集的数据。

CoreFreq:一款强大的监控 CPU 的专业工具-2

它提供了高精度的重新捕获 CPU 数据的基础工作:

  • 核心频率和比率;SpeedStep(EIST)、Turbo Boost、超线程(HTT)以及 基本时钟 ( Base Clock ) 。
  • 性能计数器结合 时间戳计数器 ( Time Stamp Counter ) (TSC)、 非停机核心周期 ( Unhalted Core Cycles ) (UCC)、 非停机引用周期 ( Unhalted Reference Cycles ) (URC)。
  • 每周期或每秒的指令数:IPS、IPC 或 CPI。
  • CPU C 状态: C0 C1 C3 C6 C7 - C1E - C1、C3 的自动/ 非降级 ( UnDemotion ) 。
  • 带有 Tjunction Max 的 DTS 温度、 热监测 ( Thermal Monitoring ) TM1、TM2 状态。
  • 包括用于自举的高速缓存和应用程序 CPU 拓扑图。
  • 处理器特性、品牌、架构字符串。
  • 注意:此工具更适用于 Linux 专家用户和经验丰富的系统管理员,但新手用户可以逐步学习如何使用它。

    CoreFreq 如何工作

    它通过调用一个 Linux 内核模块实现,它使用了:

  • 汇编代码保持尽可能接近性能计数器读数。
  • 按每个 CPU 影响的 slab 数据内存加上高分辨率定时器。
  • 支持 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 
    

    CoreFreq:一款强大的监控 CPU 的专业工具-3

    构建 CoreFreq 程序

    注意:Arch Linux 用户可以从 AUR 中安装 corefreq-git。

    现在运行以下命令从本地目录加载 Linux 内核模块,接着运行守护程序:

    $ sudo insmod corefreqk.ko
    $ sudo ./corefreqd
    

    接着使用普通用户启动客户端。

    $ ./corefreq-cli
    

    CoreFreq:一款强大的监控 CPU 的专业工具-4

    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
    

    有关更多信息和用法,请访问 CoreFreq 的 Github 仓库:https://github.com/cyring/CoreFreq 。

    在本文中,我们评估了一个强大的 CPU 监控工具,这对于 Linux 专家或经验丰富的系统管理员来说可能比新手用户更有用。

    通过下面的评论栏与我们分享你对这个工具或任何相关的想法。

    作者简介:

    Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。

    via: http://www.tecmint.com/corefreq-linux-cpu-monitoring-tool/

    作者:Aaron Kili 译者:geekpi 校对:wxy

    本文由 LCTT 原创编译,Linux中国 荣誉推出

    相关文章

    Linux 命令行的聊天工具 CenterIM
    Linux 桌面年仍未到来 但 Linux 移动之年已到来
    12 个在线学习 Linux 技能网站
    Linux Mint : 会是另一个新的 Ubuntu 吗?
    W3Conf 开发者大会将于下周召开
    Ubuntu 10.04 ARM 处理器上网本版本结束服务期

    发布评论