设置CPU频率和CPU运行核心数

2023-05-16

1、查看当前的CPU信息
cat /proc/cpuinfo
ums312_1h10:/ # cat /proc/cpuinfo                                           
processor	: 0
BogoMIPS	: 52.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x1
CPU part	: 0xd05
CPU revision	: 0

processor	: 1
BogoMIPS	: 52.00
.......
2、设置CPU运行核心数

在/sys/devices/system/cpu目录下可以查看CPU的核心数.显示为:cpu0,cpu1,…

ums312_1h10:/sys/devices/system/cpu # ls
cpu0 cpu3       cpuidle  kernel_max online   present 
cpu1 cpufreq    hotplug  modalias   possible uevent  
cpu2 cpuhotplug isolated offline    power

online文件显示当前运行的核心数
ums312_1h10:/sys/devices/system/cpu # cat online
0-3

进入cpu0中,通过更改online文件来开关cpu

ums312_1h10:/sys/devices/system/cpu/cpu0 # ls
cpu_capacity cpuidle of_node power subsystem uevent 
cpufreq      hotplug online  regs  topology 
ums312_1h10:/sys/devices/system/cpu/cpu0 # echo "0" > online  #关闭该核
ums312_1h10:/sys/devices/system/cpu/cpu0 # echo "1" > online  #打开该核
3、设置CPU运行频率

查看cpufrep目录下文件:

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # ls
affected_cpus    cpuinfo_min_freq           scaling_available_frequencies scaling_driver   scaling_min_freq 
cpuinfo_cur_freq cpuinfo_transition_latency scaling_available_governors   scaling_governor scaling_setspeed 
cpuinfo_max_freq related_cpus               scaling_cur_freq              scaling_max_freq stats 

首先更改governor的模式,在修改之前需先查看CPU只是哪些governor的模式

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_governors
interactive userspace ondemand powersave performance

performance:不降频,ondemand:使用内核提供的功能,可以动态调节频率,powersave:省电模式,通常在最低频率下运行,userspace:用户模式,在此模式下允许其它用户程序调节CPU频率.interactive:交流循环模式,只要手机运行,频率直接上最高值,然后CPU负荷慢慢降低(系统响应最快,耗电多一些).

修改模式为"userspace"
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "userspace" > scaling_governor

然后对CPU的频率进行修改,频率不是可以任意设置的,需要参看scaling_available_frequencies文件,看支持哪些频率:

ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_available_frequencies
614400 768000 962000 1144000 1228800 1482000 1536000 1716000 1820000 
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_setspeed

设置好频率后,通过查看文件scaling_cur_freq来获得当前的频率
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # cat scaling_cur_freq             
1820000

设置最大,最小频率:
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_max_freq
ums312_1h10:/sys/devices/system/cpu/cpu0/cpufreq # echo "1716000" > scaling_min_freq
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置CPU频率和CPU运行核心数 的相关文章

  • 上下文切换线程等待

    我已经寻找这个问题的答案一天了 但找不到直接的答案 我正在阅读上下文切换等待队列之类的内容 确实很好地掌握了所有内容 在阅读一篇文章时 写到当发生车队情况时 将会有大量的上下文切换 那么让我直接说一下 假设一个线程处于等待互斥体解锁的队列中
  • 获取CPU温度

    我想知道CPU的温度 以下是我使用 C 和 WMI 所做的工作 我正在读取 MSAcpi ThermalZoneTemperature 但它始终相同 而且根本不是 CPU 温度 有没有办法不用写驱动就能获取CPU的真实温度 或者有什么我可以
  • 基准测试 - 如何计算发送到 CPU 的指令数以查找消耗的 MIPS

    假设我有一个软件并想使用黑盒子 https en wikipedia org wiki Black box testing方法 我有一个 3 0GHz CPU 有 2 个插槽和 4 个核心 如您所知 为了找出每秒指令数 IPS 我们必须使用
  • 批处理文件获取 CPU 温度(°C)并设置为变量

    我如何获取批处理文件来计算 CPU 的温度并将其作为变量返回 我知道这是可以做到的 因为我已经看到它已经完成了 该解决方案可以使用任何外部工具 我在谷歌上搜索了至少两个小时 但一无所获 任何人都可以帮忙吗 谢谢 您可以使用wmic exe
  • Android:您的CPU不支持VT-x

    您的 CPU 不支持 VT x 运行此 AVD 需要 Intel HAXM 您的 CPU 不支持 VT x 不幸的是 您的计算机不支持硬件加速虚拟化 以下是您的一些选择 1 使用物理设备进行测试 2 在具有支持VT x和NX的Intel处理
  • Android Studio 和 Ryzen CPU?

    我知道它可能会被标记为重复 但没有一个线程对我有帮助 所以我决定自己做一个 I m a Java后端开发人员我决定学习一些 Android 的东西 几年前我在 Android Studio 工作过i5 4570处理器 然后我放弃了 现在我发
  • 为什么CPU负载的变化不会超过百分之几?

    我正在运行这个命令 grep cpu proc stat awk usage 2 4 100 2 4 5 END print usage 但它只输出 0 99xxxx 之类的东西 如果我进行 apt get 升级或任何过程 我想它会超过 1
  • C linux相当于windows QueryPerformanceCounter

    Linux 中是否有等效的 C 函数用于读取 CPU 计数器及其频率 我正在寻找类似于 QueryPerformanceCounter 函数的东西 该函数读取现代 CPU 中的 64 位计数器 clock gettime 2 http li
  • Tensorflow 相同的代码,但从 CPU 设备到 GPU 设备得到不同的结果

    我正在尝试实现一个程序来测试 GPU 设备上的 Tensorflow 性能 数据测试是MNIST数据 使用多层感知器 神经网络 进行监督训练 我跟着这个简单的例子 http gist github com nishidy 8176548ec
  • 哪个更快:x<<1 或 x<<10?

    我不想优化任何东西 我发誓 我只是出于好奇而想问这个问题 我知道在大多数硬件上都有位移位的汇编命令 例如shl shr 这是一个单一命令 但移位多少位 从纳秒角度或从 CPU 角度角度 是否重要 换句话说 以下任一选项在任何 CPU 上都更
  • CPU如何对指令重新排序

    我最近读到了有关 CPU 指令重新排序以提高效率的内容 但我无法理解CPU如何重新排序其指令 我的意思是编译时重新排序是可以想象的 因为编译器可以预见即将到来的代码 但是对于一个接一个地读取指令的CPU 它如何看到即将到来的指令并对它们重新
  • 使用 AMD FX 4100 四核获取 Linux ubuntu 12.10 上的 CPU 温度

    有很多类似的问题 但我还没有找到解决方案 如何在 Linux Ubuntu 12 10 上使用 C 或 C 获取 CPU 温度无需致电 sensors 我当然可以从文件中读取它 但是我找不到它在 12 10 中的存储位置 简单地读取文本文件
  • 当JVM执行Java应用程序时,操作系统的作用是什么?为什么我们需要操作系统?

    我在网上读过一些资料 有人说Java应用程序是由java虚拟机 JVM 执行的 执行 这个词让我有点困惑 据我所知 非Java应用程序 即 用C C 编写 可以由操作系统执行 在较低级别 这意味着操作系统将二进制程序加载到内存中 然后指示C
  • 将 CPU 频率指定为 Linux 启动时的内核 CMD_LINE 参数?

    我将笔记本电脑的i5 CPU更换为i7 CPU 这样它可以运行得更快 但由于i7的功率更大 温度也比以前更高 所以我的笔记本经常死机 所以 我使用cpupower来指定CPU的最大频率 它起作用了 现在 我的问题是 有没有办法在启动时将CP
  • 阿迪和苏比之间到底是什么“关系”?

    我应该回答这个问题 经过一番研究后发现 add 和 sub 具有相同的操作码 仅在功能领域有所不同 这是答案还是其他什么 Update Nios II CPU 手册中提供了它 subi subtract immediate Operatio
  • 通过 C 将线程固定到 cpuset 中的核心

    我有 cgroup cpuset set1 set1有2 5 8 我想将一个进程绑定到该 cpuset 然后将该进程中的一个线程固定到核心 4 cpuset 的名称 线程名称以及我应该将线程绑定到的核心位于 m 配置文件中 是否有任何 C
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • CPU 周期与总 CPU 时间

    在 Windows 上 GetProcessTimes 和 QueryProcessCycleTime 可用于获取应用程序所有线程的总计 我期望 显然是天真地 找到总周期数和总处理器时间 用户 内核 之间的比例关系 当转换为相同的单位 秒
  • 如何在 Java 中将帧速率限制为 60 fps?

    我正在编写一个简单的游戏 我希望将帧速率限制在 60 fps 而不会让循环占用我的 CPU 我该怎么做 您可以阅读游戏循环文章 https dewitters com dewitters gameloop 在尝试实现任何内容之前 首先了解游
  • 使用Python获取CPU温度?

    如何使用 Python 检索 CPU 的温度 假设我在Linux上 有一个较新的 sysfs 热区 API http shallowsky com blog linux kernel sysfs thermal zone html 也可以看

随机推荐