太长了;我是一名初级 Linux 用户。我的 Linux 机器会自行降频吗?这是一件事吗?如果是的话我该如何找出?
我正在数据中心使用一堆 Debian Linux 服务器,我们怀疑 CPU 正在“降频”(不确定这是否是正确的术语)。
有些人说 CPU 运行得很热,我可能需要请该数据中心的工作人员更换 CPU 上的导热膏或其他东西。
我想编写一个脚本来检查我的所有服务器,看看哪些服务器正在自行降频。
现在我不需要 Ansible 部分的帮助。我正在寻找要运行的命令或要搜索的日志,以查明我的 Linux 机器是否正在自行降频。
答案1
使用lscpu
命令查看当前CPU频率。当负载较低时,现代 CPU 会自动降频。当温度足够低、负载高时,CPU可以自动超频。如果您想调整这些设置,请使用 等工具cpupower
。
查看频率信息:
cpupower frequency-info
设置最大/最小频率:
cpupower frequency-set -u 42MHz # max
cpupower frequency-set -d 42MHz # min
要将调节器(选择频率的算法)设置为ondemand
(请参阅中的列表frequency-info
):
cpupower frequency-set -g ondemand
降频的其他原因是过热。如果 CPU 温度过高,则会自动降频。
使用此命令查看系统中的所有温度:
head /sys/class/thermal/thermal_zone*/temp /sys/class/hwmon/hwmon*/temp*_input
它通常以千分之一°C 为单位报告温度。
答案2
现代桌面操作系统包括 Windows、MacOS 和 Linux(不确定 OpenBSD/NetBSD/FreeBSD 默认设置是否相同)会自动降频 CPU 内核以节省能源。
如果您不希望出现此行为,请将 CPU 频率调节器切换到performance
将使 CPU 保持在最高性能状态的位置,例如
echo performance | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor
这会不太可能使您的服务器运行得更快,但会确实增加电费。
答案3
我正在使用一堆 Debian Linux 服务器
对不起 :)
我的 Linux 机器会自行降频吗?这是一件事吗?如果是的话我该如何找出?
我更喜欢watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
我使用 RHEL/CentOS,他们必须tuned-adm
设置电源配置文件。这样默认就是配置文件Balanced
。有很多,比如Powersave
,我把我的服务器设置为latency-performance
。如果tuned
适用于 debian,我的建议是使用它,或者任何等效的东西。
acat /proc/cpuinfo
会告诉您 CPU 的品牌和型号,然后您可以在线查找以验证其实际基本工作频率和涡轮频率,以了解从实时手表中可以看到什么。
通过执行来回设置实时配置文件tuned-adm profile latency-performance
,tuned-adm profile powersave
您可以观察到所有内核的监视命令从稳定的 3.2ghz 变为 800mhz。所以是的降频是一件事,debian 中的默认电源配置文件可能是这样的均衡它可能不是一个电源配置文件高性能始终使用尽可能多的电量。
有人说CPU很热,我可能需要问一下这里的工作人员数据中心更换 CPU 上的导热膏或其他东西。
你的措辞似乎有点矛盾......如果CPU频率是降频又名被某些软件限制或限制意味着它们不太可能运行得很热。然而要意识到,即使你做了功率配置文件节能这样如果所有核心都在 800mhz空闲时不使用那么是的,这会节省一点电量和热量,但当任何用户主动运行一些使用 cpu(核心)的代码时,就会变成静音点,那么无论使用的功率配置文件如何,您都将产生相同量的热量。
我的建议是查看或购买并安装带有瓦特表的 PDU,以便您可以观察所述服务器的功耗。因为功耗(以瓦或千瓦为单位)直接对应于服务器上的热量输出(和用户负载)。以及监视用户和服务器上运行的所有软件。如果有人做了一些愚蠢的事情,比如重新启动永远不会停止的防病毒扫描,这只会加载 CPU 核心并导致发热(无论功率配置文件如何)。