cpuspeed和irqbalance服务器的两大性能杀手

本文介绍了如何通过停用irqbalance和cpuspeed服务来优化Linux系统的CPU使用率,以达到提高服务器性能的目的。同时提供了最小化启动服务的方法。

原文:http://wubx.net/stop-irqbalance-and-cpuspeed/

最近在一个性能测试中遇到机器的CPU频率不对。查了一下原来是irqbalance和cpuspeed搞出来问题。
irqbalance 理论上:
启用 irqbalance 服务,既可以提升性能,又可以降低能耗。
irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。
处于 Performance mode 时,irqbalance 会将中断尽可能均匀地分发给各个 CPU core,以充分利用 CPU 多核,提升性能。
处于 Power-save mode 时,irqbalance 会将中断集中分配给第一个 CPU,以保证其它空闲 CPU 的睡眠时间,降低能耗。
但实际中往往影响cpu的使用均衡,建议服务器环境中关闭。

cpuspeed这个也算是遇到一个大坑,如果bios中已经开启了max performance但cpu主频还是不对,那就是cpuspeed搞出来的鬼(笔记本可以保留这些服务用于省电)。

其实相对一个数据库服务器对Linux服务可以进行以下操作:

最小化的开启服务,如果在需要其它可以手工再开启。

Good Luck.


### 修改CPU性能模式以提高性能 #### Ubuntu系统下手动设置高性能模式 在Ubuntu操作系统中,可以通过一系列命令来实现CPU性能模式的手动调整。首先需要安装`cpufrequtils`工具[^1]。 ```bash sudo apt-get update && sudo apt-get install cpufrequtils ``` 之后可以利用`cpufreq-info`指令获取当前系统的CPU信息以及其支持的工作模式: ```bash cpufreq-info ``` 为了确认CPU目前处于哪种工作状态,可执行如下命令: ```bash cpufreq-info | grep "current policy" ``` 最后一步则是设定CPU进入高性能模式,通过编辑配置文件或者直接使用命令行完成这一操作。这里给出一种简便的方法——直接指定策略为performance: ```bash sudo cpufreq-set -g performance ``` #### CentOS系统下的自动化配置 针对CentOS环境而言,采用`cpuspeed`服务来进行管理更为便捷。具体来说就是先确保已经安装了该组件[^2]: ```bash yum -y install cpuspeed ``` 接着打开并修改位于`/etc/sysconfig/cpuspeed`路径下的配置文档,在其中找到名为`GOVERNOR`的参数项,并将其值设为`performance`: ```bash vim /etc/sysconfig/cpuspeed # 将GOVERNOR=ondemand 改成 GOVERNOR=performance ``` 保存更改后的文件,重启`cpuspeed`服务使新的设置生效: ```bash /etc/init.d/cpuspeed restart ``` 需要注意的是,当服务器的CPU默认运行于`ondemand`模式时会存在一定的中断开销,尤其是在低端CPU上这种现象更加明显[^4]。因此切换到`performance`模式能够有效减少这类不必要的资源浪费,从而达到优化目的。 另外值得注意的一点是在某些特定硬件平台上(如华为服务器),还可以进一步深入至BIOS层面去定制化CPU的行为特性。例如可以在启动过程中按下DEL键进入到BIOS界面,随后导航至高级选项中的性能配置部分进行相应调节[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值