【Ubuntu】在Ubuntu中实现酣畅淋漓的性能释放:调整CPU频率 ...

饭宝  金牌会员 | 2024-7-18 20:35:47 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 715|帖子 715|积分 2145

一、问题描述

在呆板人开辟中,经常需要运行诸如 SLAM 和 Planning 等 CPU 密集型程序,这些程序需要充实发挥计算机的性能,以确保算法的高效运行。然而,默认情况下,Ubuntu 通常将 CPU 设置为节能模式,导致 CPU 在低频率下运行,从而大概影响算法的实行效率。因此,为了最大化 CPU 性能,需要将所有核心的工作模式设置为高性能。
查看各 CPU 核心的工作模式可以通过下面这条下令:
  1. cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
复制代码
终端打印以下内容:
  1. powersave
  2. powersave
  3. powersave
  4. powersave
  5. powersave
  6. powersave
  7. powersave
  8. powersave
  9. powersave
  10. powersave
  11. powersave
  12. powersave
  13. powersave
  14. powersave
  15. powersave
  16. powersave
复制代码
这说明CPU处于节点模式,正在养生
二、软件安装与设置

实行以下下令安装 indicator-cpufreq:
  1. sudo apt-get install indicator-cpufreq
复制代码
安装完成后,重新启动计算机。重新启动后,在界面右上角会出现如下图标。

点击该图标,并选择“性能”模式。


  • performance:高性能模式,将 CPU 频率设为最高值,以最大化 CPU 性能。
  • powersave:节能模式,降低 CPU频率,以最大化节能。
三、查看各 CPU 状态

实行以下下令,查看各 CPU 核心的工作模式:
  1. cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
复制代码
终端将会打印以下内容:
  1. performance
  2. performance
  3. performance
  4. performance
  5. performance
  6. performance
  7. performance
  8. performance
  9. performance
  10. performance
  11. performance
  12. performance
  13. performance
  14. performance
  15. performance
  16. performance
复制代码
这说明所有 CPU 都处于 “performance” (性能) 模式。
四、开机默认高性能设置

上述步调可以方便快捷地设置当前 CPU 状态,但重启计算机后,系统会恢复默认设置。为了确保系统在每次启动时都以高性能模式运行,可以按照以下步调进行设置:
4.1 安装 cpufrequtils

实行以下下令安装 cpufrequtils 软件:
  1. sudo apt-get install cpufrequtils
复制代码
该软件包含一些常用下令,如:


  • cpufreq-info:查看 CPU 状态;
  • sudo cpufreq-set -c 0 -g performance:设置指定 CPU 的状态。其中,-c 0 指定要设置的 CPU 核心编号
  • performance 表现将 CPU 状态设置为高性能模式;
  • sudo cpufreq-set -c 1 -d 900MHz:设置指定 CPU 的最低频率为 900MHz;
  • sudo cpufreq-set -c 2 -u 2.6GHz:设置指定 CPU 的最高频率为 2.6GHz。
4.2 编写脚本

创建 set_cpu_performance.sh 文件,并赋予可实行权限:
  1. #!/bin/bash
  2. # Check if the cpufrequtils package is installed
  3. if ! [ -x "$(command -v cpufreq-set)" ]; then
  4.   echo "Error: cpufrequtils package is not installed. Please install the package first."
  5.   exit 1
  6. fi
  7. cpu_mode=performance  # CPU operating mode, defaulting to performance mode
  8. # Get the number of CPU cores
  9. cpu_cores=$(nproc)
  10. # Set each CPU core to performance mode
  11. for ((cpu=0; cpu<cpu_cores; cpu++)); do
  12.   sudo cpufreq-set -c $cpu -g $cpu_mode
  13. done
  14. # Validate the current CPU frequency scaling governor state
  15. cpufreq-info --policy | grep "current policy"
  16. echo "All $cpu_cores CPU cores are now in $cpu_mode mode."
复制代码
在脚本中,可以通过修改 cpu_mode 变量来切换工作模式。
4.3 设为默认开机脚本

(1)将你的脚本放置在一个符合的位置,比如 /usr/local/bin。
(2)创建一个 .service 文件,这将告诉 systemd 如何启动你的脚本。
  1. sudo nano /etc/systemd/system/set_cpu_performance.service
复制代码
(3)在编辑器中输入以下内容:
  1. [Unit]
  2. Description=Set CPU performance mode
  3. After=network.target
  4. [Service]
  5. Type=simple
  6. ExecStart=/usr/local/bin/set_cpu_performance.sh
  7. [Install]
  8. WantedBy=multi-user.target
复制代码
请确保 ExecStart 的路径与你的脚本的实际路径相匹配,然后保存并退出编辑器。
(4)刷新 systemd 以加载新的服务单元
  1. sudo systemctl daemon-reload
复制代码
(5)启用服务,使其在启动时主动运行。
  1. sudo systemctl enable set_cpu_performance.service
复制代码
以上操作能够确保系统在每次启动时都以高性能模式运行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表