我启用了 tsc
时钟源后,重启了系统,以及 OceanBase 集群,目前观察到 CPU 的占用只有 60+% 了。
启用时钟源的操作也写一下到帖子里吧,方便其他人遇到同类问题的时候同样来处理
OK,我是 CentOS 8.2。
方法一:临时切换时钟源
# 第一步,查看当前系统可用的时钟源(输出包含 tsc 方可执行第二步)
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
# 第二步,临时切换时钟源(重启后失效)
sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'
方法二:永久切换时钟源
我用的就是方法二,而且我的 可用时钟源列表中没有 tsc
,也能生效,只要 CPU 支持 稳定tsc 特性即可(可通过执行命令 cat /proc/cpuinfo | grep constant_tsc
验证是否支持 ) 。
第一步,执行 sudo vi /etc/default/grub
。
在原配置行 GRUB_CMDLINE_LINUX
后面的参数值中追加参数设置 clocksource=tsc tsc=reliable clocksource_failover=hpet
(表示启用 tsc
作为时钟源,如果 tsc 不可用则用 hpet
兜底)
# 将如上参数配置项修改为如下形式
# 如果之前已经有 clocksource 等参数的,就直接替换
GRUB_CMDLINE_LINUX="原参数设置 clocksource=tsc tsc=reliable clocksource_failover=hpet"
第二步,生成 grub.cfg
文件
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启系统,以便设置生效。
可通过如下命令行验证当前的时钟源是否修改成功:
# 查看 当前系统的时钟源
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
参考链接:https://repost.aws/zh-Hans/knowledge-center/manage-ec2-linux-clock-source
3 个赞