云服务器
linux系统中如何限制用户进程cpu占用率
2025-07-20 09:51  点击:0
---

在 Linux 服务器上,用户进程长时间运行通常是可接受的。然而,当一个进程占用过高的 CPU 资源,导致其他用户无法正常使用系统时,这个问题就变得无法忍受。这种情况通常是由于用户程序中的错误或低效代码导致的。在这种情况下,系统应该采取措施来防止这样的进程继续消耗系统资源。

最直接的方法是使用 ps 命令来检测 CPU 占用率超过一定限制的用户进程,并使用 kill 命令来终止该进程。然而,这种方法过于粗暴,因为用户可能会发现他们的进程被无故终止,从而重复启动进程,这样就会陷入恶性循环。

为了避免这种情况,我们可以采用一种更加温和的方法,即不是直接杀死目标进程,而是通过调整其 nice 值来降低其优先级。这种方法可以通过以下 Shell 脚本来实现

bash
!/bin/bash

# 设置最大CPU占用率限制,以百分比表示,例如0.8代表80%
MAX_CPU_USAGE=0.8

# 查找超过最大占用率的进程
PIDS=$(ps aux | awk '{ if ($3 \u003e '\