首页 > 其他分享 >CoreFreq:一款强大的监控 CPU 的专业工具

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

时间:2023-06-03 14:12:09浏览次数:36  
标签:CoreFreq cli corefreq Linux Print 一款 CPU

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

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

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

CoreFreq CPU Monitoring

它提供了高精度的重新捕获 CPU 数据的基础工作:
  1. 核心频率和比率;SpeedStep(EIST)、Turbo Boost、超线程(HTT)以及基本时钟。
  2. 性能计数器结合时间戳计数器(TSC)、非停机核心周期(UCC)、非停机引用周期(URC)。
  3. 每周期或每秒的指令数:IPS、IPC 或 CPI。
  4. CPU C 状态: C0 C1 C3 C6 C7 - C1E - C1、C3 的自动/非降级。
  5. 带有 Tjunction Max 的 DTS 温度、热监测TM1、TM2状态。
  6. 包括用于自举的高速缓存和应用程序 CPU 拓扑图。
  7. 处理器特性、品牌、架构字符串。

注意:此工具更适用于 Linux 专家用户和经验丰富的系统管理员,但新手用户可以逐步学习如何使用它。

CoreFreq 如何工作 它通过调用一个 Linux 内核模块实现,它使用了:
  1. 汇编代码保持尽可能接近性能计数器读数。
  2. 按每个 CPU 影响的 slab 数据内存加上高分辨率定时器。
  3. 支持 CPU 暂停/恢复和 CPU 热插拔。
  4. 使用共享内存来保护内核免受来自用户空间程序的损害。
  5. 使用原子级同步的线程来消除互斥和死锁。
如何在 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 的专业工具CoreFreq:一款强大的监控 CPU 的专业工具

构建 CoreFreq 程序

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

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

    $ sudo insmod corefreqk.ko
    $ sudo ./corefreqd

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

    $ ./corefreq-cli

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

CoreFreq Linux CPU 监控

在上面的界面中,你可以使用这些快捷键:
  1. 使用 F2 显示屏幕顶部显示的使用菜单。
  2. 使用 右 和 左 箭头移动菜单选项卡。
  3. 使用 上和 下 箭头选择菜单项,然后单击回车。
  4. 使用 F4 关闭程序。
  5. 使用 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

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


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

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

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

原文地址:https://linux.cn/article-8241-1.html

本文地址:https://www.linuxprobe.com/coreFreq-cpu-monitoring.html编辑:吴向平,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/corefreq-cpu-monitoring.html

标签:CoreFreq,cli,corefreq,Linux,Print,一款,CPU
From: https://www.cnblogs.com/linuxpro/p/17453920.html

相关文章

  • 一款强大的监控 CPU 的专业工具
    它的核心建立在内核模块上,用于从每个CPU核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并显示收集的数据。CoreFreqCPUMonitoring它提供了高精度的重新捕获CPU数据的基础工作:核心频率和比率;SpeedStep(EIST)、TurboBoost、超线......
  • Java并发(八)----使用线程避免cpu占用100%
    1、sleep实现在没有利用cpu来计算时,不要让while(true)空转浪费cpu,这时可以使用yield或sleep来让出cpu的使用权给其他程序while(true){  try{ Thread.sleep(50); }catch(InterruptedExceptione){    e.printStackTrace(); }......
  • 一款好看的Python下的GUI库:dearpygui
    说明之前写测试上位机都是用PyQT,可以拖拽控件实现所见即所得的设计效果。但是编译后的EXE体积较大、响应较慢,经常卡死,而且界面想要设计好看点需要了解其他界面设计知识。后面看到了dearpygui库,感觉实现的界面很现代。它运行很流畅,效果也很棒。dearpygui入门资源以下是可以......
  • linux 性能自我学习 ———— cpu 高怎么办 [三]
    前言linux性能分析自我学习。正文一般我们说cpu,一般是什么高呢?一般是指cpu使用率高。那么什么是cpu使用率呢?cpu使用率=1-空闲时间/总cpu时间平均cpu使用率=1-(new空闲时间-old空闲时间)/(new总cpu时间-old总cpu时间)我们可以使用top查看:那么来看下......
  • 线上应用故障排查之一:高CPU占用
    线上应用故障排查之一:高CPU占用一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障。通过psaux|grepPID命令,可......
  • 使用taskset命令让进程运行在指定CPU上
    taskset命令让进程运行在指定CPU上taskset命令,可用于进程的CPU调优,可以把云服务器上运行的某个进程,指定在某个CPU上工作。#1、执行如下命令,查看服务器CPU核数cat/proc/cpuinfo#关于CPU的核心参数说明#processor:指明第几个CPU处理器#cpucores:指明每个处理器的核心数......
  • linux 性能自我学习 ———— cpu 切换带来的性能损耗 [二]
    前言我们知道现在操作系统,都是多进程和多线程,那么会有一个操作系统帮助我们去切换进程和线程,这个是要消耗cpu资源的,那么就来了解一下cpu资源消耗情况。正文一般是下面几个场景切换:进程上下文切换线程上下文切换中断上下文切换在了解进程切换的时候,需要了解另外一个......
  • 卫星定位北斗芯片AT6558一款高性能BDS/GNSS多模卫星导航接收机SOC单芯片
    1芯片简介AT6558R是一款高性能BDS/GNSS多模卫星导航接收机SOC单芯片,片上集成射频前端,数字基带处理器,32位的RISCCPU,电源管理功能。芯片支持多种卫星导航系统,包括中国的北斗卫星导航系统BDS,美国的GPS,俄罗斯GLONASS,并实现多系统联合定位。1.2主要特征■功能规范●支持BDS/GPS/GLO......
  • Linux环境下耗尽cpu占用率的指令
     模拟cpu打满foriin`seq1$(cat/proc/cpuinfo|grep"physicalid"|wc-l)`doddif=/dev/zeroof=/dev/null&done 模拟内存打满生产大文件ddif=/dev/zeroof=testbs=1Mcount=2000然后vi打开 vimtest&这种也可以。使用top命令查看linux系统cpu使用情况:#......
  • AWR报告参数DB TIME和DB CPU分析
    什么是AWR?ASH(ActiveSessionHistory,活动会话历史信息)、AWR(AutomaticWorkloadRepository,自动负载信息库)、ADDM(AutomaticDatabaseDiagnosticMonitor,数据库自动诊断监视工具)是Oracle性能调整的三把利剑,需要深入地了解,但是面试一般都问得比较简单,主要问到的是AWR。Oracle性能......