Linux下CPU频率和核心数的锁定设置

发布于:2024-05-10 ⋅ 阅读:(32) ⋅ 点赞:(0)

linux下cpu频率的锁定设置

查询cpu相关信息

  • 使用工具为:cpufrequtils
sudo apt-get install cpufrequtils
  • 使用 cpufreq-info 命令来查看当前的 CPU 频率以及支持的频率范围
cpufreq-info
  • 设置某个CPU核心的频率
    如果你想将 CPU 频率锁定在一个特定的值,可以使用 cpufreq-set 命令。例如,如果你想将第一个 CPU(CPU编号从零开始)的频率设置为 1GHz,你可以使用下面的命令:
sudo cpufreq-set -c 0 -f 1000MHz

在上面的命令中,-c 选项指定了 CPU 的编号,-f 选项指定了 CPU 的频率。

请注意,你的设置可能会被 CPU 的自动动态频率调节覆盖。如果你希望永久禁用动态频率调节,你需要 将 CPU 的频率调节器设置为 “userspace”。你可以使用下面的命令来设置:

sudo cpufreq-set -c 0 -g userspace
策略 作用
conservative 保守的,会自动在频率上下限调整,相对于ondemand调度不是很激进
ondemand 一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率
powersave 以最低频率运行
performance 以最高频率运行
userspace 以用户自定义频率运行
schedual 基于scheduler负载数据的调频

此外,使用命令查询cpu各线程的频率

cat /proc/cpuinfo | grep MHz

#########################
cpu MHz		: 1137.544
cpu MHz		: 528.190
cpu MHz		: 400.000
cpu MHz		: 1587.075
cpu MHz		: 442.730
cpu MHz		: 1554.973
cpu MHz		: 400.000
cpu MHz		: 1609.307
cpu MHz		: 400.000
cpu MHz		: 570.920
cpu MHz		: 400.000
cpu MHz		: 784.570
cpu MHz		: 1684.389
cpu MHz		: 570.920
cpu MHz		: 442.730
cpu MHz		: 613.650

linux下cpu核心数的设置

  • 查看运行的cpu核心数
nproc
cat /proc/cpuinfo | grep processor | wc -l

以上命令会显示被启用的CPU核心数。如果显示的数字是2,那么说明现在只启用了两个核心。

  • 限制cpu使用的核心数

可以通过Linux系统的CPU热插拔功能来达到这个目的。该功能允许你在线关闭或打开CPU核心。这样,你可以根据需要来决定启用多少个CPU核心。
要关闭或启用CPU核心,你可以通过修改/sys/devices/system/cpu/cpuN/online文件来实现,其中N是CPU核心的编号,从0开始。
例如,如果你有一个四核CPU,你可以通过以下命令来关闭第三和第四个核心:

echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online

你可以通过以下命令来开启第三和第四个核心:

echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online