酷徒LOGO

如何防止高CPU使用率关闭系统?


问题:

我在运行Java系统的Linux系统上运行jvm创建新线程( 进程) 来处理工作负载。 由于线程复杂性比其他线程开始更接近 100%,因此线程使用情况会变得更加复杂,因此,CPU使用情况会变得更加复杂,因为CPU使用情况变得非常接近,而空闲的空闲百分比很少。 我知道如果CPU使用率过高,它的他运行的服务会受到影响,例如系统将不接受新ssh登录。

是否可以在系统级配置自动化过程监视器,以防止用户进程过高,使系统服务不受影响。


回答 1:

Linux下的大多数用户进程在启动时具有相同的优先级,并平等共享时间片。 所有线程同时分享在时间片上,因这里当有太多的时候,它的他进程可以能需要等待。

至少有三种方法可以控制进程获得的CPU时间:

  • nice 命令可以手动降低任务的优先级。
  • cpulimit 命令可以暂停进程以避免超过限制限制。
  • Linux 控制组 ( cgroups ) 可以限制进程可用的资源数量。

有关更多信息,请参见文章
使用 nice。cpulimit和cgroups命令限制进程CPU的使用。


回答 2:

备用解决方案:如果你将JVM作为一个 Docker 容器运行,那么 docker run 命令有许多选项可以限制CPU使用情况。

使用容器也使你的应用程序更易于部署和管理。






Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备17041772号-2  |  如果智培  |  酷兔英语  |  帮酷