中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

定时器机制调整,减少不必要的时钟中断

原理

在Linux内核2.6.17版本之前,Linux内核为每个CPU设置一个周期性的时钟中断,Linux内核利用这个中断处理一些定时任务,如线程调度等。这样导致就算CPU不需要定时器的时候,也会有很多时钟中断,导致资源的浪费。Linux内核2.6.17版本引入了nohz机制,实际就是让时钟中断的时间可编程,减少不必要的时钟中断。

修改方式

执行cat /proc/cmdline查看Linux内核的启动参数,如果有nohz=off关键字,说明nohz机制被关闭,需要打开。修改方法如下:

修改前后,可以通过如下命令观察timer_tick的调度次数,其中$PID为要观察的进程ID,可以选择CPU占用高的进程进行观察:

perf sched record -- sleep 1 -p $PID
perf sched latency -s max

输出信息中有如下信息,其中591字段表示统计时间内的调度次数,数字变小说明修改生效。

timer_tick:(97) | 7.364 ms | 591 | avg: 0.012 ms | max: 1.268 ms
  1. 在“/boot”目录下通过find -name grub.cfg找到启动参数的配置文件。
  2. 在配置文件中将nohz=off去掉。
  3. 重启服务器。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词