我刚刚得知 的乐趣ulimit
。
这让我开始思考……如果我的系统带有旧处理器,并且持续过热,举个例子吧;没有其他硬件可以插入,因为它太旧了;通过限制用户使用的系统资源量,是否可以使 CPU 保持凉爽并允许我从中复制我的东西?
我的意思是,这听起来像是一种黑客行为,而不是 的预期目的ulimit
,但我只是想知道这是否有效。我也想,尽管您必须将其应用于系统上的所有用户。我还认为运行级别 1 也会导致类似的情况。
答案1
没有用,没有。ulimit
主要限制进程可以使用的各种类型的内存量(直接使用的内存以及系统表中的条目,例如文件描述符和进程表)。ulimit
可以用来杀死总共消耗超过一定 CPU 时间的进程,但这与 CPU 温度无关。占用 CPU 几分钟的进程可能会导致系统过热,而一天中占用几分钟则不会出现问题。
ulimit
还可以对进程的调度优先级设置限制,但这也没有用,因为阻止进程使用 CPU 时间的唯一方法是其他进程使用 CPU。出于同样的原因,nice
不会让您的 CPU 保持凉爽。
限制 CPU 的最大频率会导致 CPU 运行温度降低。在 Linux 下,你可以用类似的东西来做到这一点
echo 2097152 | tee /sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
这会将 CPU 频率限制在 2GHz(scaling_max_freq
单位为kHz)。每个policy*
目录对应一个核心。
处理器应该防止过热并减慢速度而不是崩溃(更不用说着火了,CPU在实践中得到了很好的保护),但实际上有时它们确实会崩溃。