1

我们有一个计算密集型的过程。当它运行时,它通常使用 99% 的可用 CPU。它被配置为利用所有可用的处理器,所以我相信这没问题。但是,我们的一位客户抱怨说,由于 CPU 利用率高,运行此进程的服务器上的警报会响起。我认为高 CPU 利用率本身并没有错。当进程停止运行并且进程运行完成(没有无限循环等)时,CPU 会恢复正常。当我说高 CPU 使用率本身不是问题时,我只是想知道我是否站稳脚跟。

谢谢,

艾略特

4

2 回答 2

3

如果当我说高 CPU 使用率本身不是问题时,我站在坚实的基础上

你在坚实的基础上。

我们有一个计算密集型的过程

然后我预计 CPU 使用率会很高。

当进程停止运行时 CPU 恢复正常

到目前为止听起来不错。


您的客户端使用的系统可能配置为在 CPU 使用率超过某个限制时发出通知,因为有时这表明存在问题(持续的高使用率可能导致过热和相关问题)。

如果这是预期行为,您的客户需要调整他们的监控 - 但您需要确保该行为在他们的系统上符合预期,并且不太可能导致问题(确保不维持高 CPU 使用率)。

于 2012-05-22T14:08:07.220 回答
1

警报不是设计不佳的可行原因。真正的原因可能是它阻塞了系统上的其他任务。现代操作系统通常通过降低 CPU 饥饿进程的动态优先级来解决这个问题,这样对 CPU 时间要求较低的其他进程将获得更高的优先级。您可能会告诉客户“很好”开始的过程,因为您可能不在乎它是否运行 10 分钟或 12 分钟。只是我的 2 美分 :)

于 2012-05-22T14:12:31.180 回答