Home  >  Article  >  Operation and Maintenance  >  What is CoreFreq in linux

What is CoreFreq in linux

青灯夜游
青灯夜游Original
2023-02-21 18:18:431701browse

In Linux, CoreFreq is a professional tool for monitoring CPU. It is a CPU monitoring program for Intel 64-bit processors and supports Atom, Core2, Nehalem, SandyBridge, and AMD 0F families. CoreFreq is used to retrieve internal performance counters from each CPU core and works in conjunction with a daemon that collects the data. A small console client connects to the daemon and displays the collected data.

What is CoreFreq in linux

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

CoreFreq is a CPU monitoring program for Intel 64-bit processors and supports Atom, Core2, Nehalem, SandyBridge and above, as well as the AMD 0F family.

Its core is built on the kernel module for retrieving internal performance counters from each CPU core, and works with a daemon that collects the data, a small console client connects to the daemon and displays Collected data.

What is CoreFreq in linux

CoreFreq CPU Monitoring

It provides the basis for re-capturing CPU data with high accuracy:

  • Core frequencies and ratios; SpeedStep (EIST), Turbo Boost, Hyper-Threading (HTT), and base clock.

  • The performance counter combines the timestamp counter (TSC), non-stop core cycle (UCC), and non-stop reference cycle (URC).

  • Instructions per cycle or per second: IPS, IPC, or CPI.

  • CPU C status: C0 C1 C3 C6 C7 - C1E - Automatic/non-degraded for C1, C3.

  • DTS temperature with Tjunction Max, Thermal monitoring TM1, TM2 status.

  • Includes cache and application CPU topology maps for bootstrapping.

  • Processor characteristics, brand, architecture string.

Note: This tool is more suitable for expert Linux users and experienced system administrators, but novice users can learn how to use it step by step.

How CoreFreq works

It is implemented by calling a Linux kernel module, which uses:

  • Assembly code keeps performance counter readings as close as possible.

  • Slab data memory affected by each CPU plus high-resolution timer.

  • Supports CPU suspend/resume and CPU hot plug.

  • Use shared memory to protect the kernel from damage from user space programs.

  • Use atomically synchronized threads to eliminate mutual exclusion and deadlocks.

How to install CoreFreq in Linux

To install CoreFreq, you first need to install dependent programs (development tools) to compile and build the program from source.

$ 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]

Next, clone the CoreFreq source code on Github, enter the download folder and compile the build program:

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

What is CoreFreq in linux

Build the CoreFreq program

Note: Arch Linux users can install corefreq-git from the AUR.

Now run the following command to load the Linux kernel module from the local directory, and then run the daemon:

    $ sudo insmod corefreqk.ko
    $ sudo ./corefreqd

Then start the client as a normal user.

    $ ./corefreq-cli

What is CoreFreq in linux

CoreFreq Linux CPU Monitoring

In the above interface, you can use these shortcut keys :
  • 使用 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

相关推荐:《Linux视频教程

The above is the detailed content of What is CoreFreq in linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn