100% CPU 或 100% MEM 使用率会让 Linux 服务器更加不稳定吗?这样服务器就会崩溃,需要重启。
因为我听说过:
“如果你将进程限制在 90% 的 CPU 占用率,那么你就白白浪费了 10% 的计算能力”
对比
“请将进程的 CPU 使用率限制在 90% 以下,否则系统会变得不稳定”
下列哪一项陈述是正确的?Linux 操作系统不应该处理高利用率的情况吗?
我知道在客户端机器上,我可能不希望 CPU 使用率达到 100%,因为这会降低登录、命令行和任何交互的速度。但在充当工作节点那么,CPU 利用率应该为 100% 还是应该限制在 100% 以下?MEM 也是同样的问题。
答案1
CPU 使用率为 100% 的服务器对新任务的响应不会太快,如果以交互方式使用,可能会很慢,但应该可以继续工作。工作节点以 100% 或接近 100% 的速度运行 CPU 密集型任务是没问题的。台式电脑就没那么好了。
内存达到 100% 的服务器将开始终止任务或崩溃。
答案2
这是一个答案很复杂的问题。
简短的回答是不会,高资源利用率本身不会使服务器不稳定或崩溃。但是...
长话短说,这取决于具体情况。例如,高 CPU 利用率可能导致响应时间差、资源冲突和复合问题,即请求排队速度快于服务器处理速度。这实际上会使服务器不稳定。
进程优先级在这里也起着重要作用。优先级较高的任务会优先获得 CPU 时间,这可能会导致优先级较低的任务最终无法获得资源,从而使系统变得不稳定。
另一方面,有意设置为低优先级的 CPU 密集型任务可以利用任何空闲的 CPU,而不会明显影响系统性能。Folding@Home 等程序利用这一点在后台运行,而不会影响系统的其余部分。
高内存利用率会导致交换,从而进一步降低服务器性能并导致服务器不稳定。
高内存利用率还会导致内存不足问题,从而导致进程终止。这肯定会使服务器不稳定并容易崩溃。
这一切都取决于服务器应该做什么。如此高利用率的网络服务器很可能面临无法使用的风险,但视频编码服务器却可以很好地完成任务。
然后还有功耗、发热量、冷却能力等问题……
答案3
这完全取决于这些服务器的功能。
这里有一个故事。Windows,但仍然是一样的。
我有一个软件代理,它将使用服务器 100% 的 CPU。就是这样。无论服务器有多大。它是一个统计模拟代理,它从服务器接收作业(每个核心一个)并运行它们。在低优先级下,使用更高优先级的控制线程确保它们都处于繁忙状态。
CPU 100% 有问题吗?不。这是计划好的。
另一方面,具有 SMART 内存管理的数据库服务器将使用尽可能多的内存进行缓存,并在需要时释放内存。同样,这不是问题。