ubuntu

ubuntu进程如何限制资源使用

小樊
33
2025-06-19 00:20:35
栏目: 智能运维

在Ubuntu系统中,可以使用cgroups(control groups)来限制进程的资源使用。cgroups是Linux内核的一个功能,可以限制、记录和隔离进程组的资源使用(如CPU、内存、磁盘I/O等)。以下是如何使用cgroups来限制进程资源使用的步骤:

  1. 安装cgroup-tools软件包:
sudo apt-get update
sudo apt-get install cgroup-tools
  1. 创建一个新的cgroup:
sudo cgcreate -g cpu,memory:/my_cgroup

这将创建一个名为my_cgroup的新cgroup,限制CPU和内存资源。

  1. 限制CPU使用:
echo 50000 | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_quota_us

这将限制my_cgroup中的进程最多使用50%的CPU时间。

  1. 限制内存使用:
echo 100M | sudo tee /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes

这将限制my_cgroup中的进程最多使用100MB的内存。

  1. 将进程添加到cgroup:

首先,找到要限制的进程的PID:

ps aux | grep your_process_name

然后,将进程添加到my_cgroup

sudo cgclassify -g cpu,memory:my_cgroup <PID>

<PID>替换为实际进程ID。

现在,my_cgroup中的进程将受到之前设置的CPU和内存限制。

  1. 若要删除cgroup,可以使用以下命令:
sudo cgdestroy -g cpu,memory:/my_cgroup

这将删除名为my_cgroup的cgroup及其资源限制。

注意:在某些Ubuntu版本中,可能需要先启用cgroup v2。要启用cgroup v2,请按照以下步骤操作:

  1. 编辑/etc/default/grub文件:
sudo nano /etc/default/grub
  1. GRUB_CMDLINE_LINUX_DEFAULT行中添加systemd.unified_cgroup_hierarchy=1参数:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=1"
  1. 保存文件并退出编辑器。

  2. 更新GRUB配置:

sudo update-grub
  1. 重启系统以应用更改:
sudo reboot

现在,您的Ubuntu系统将使用cgroup v2。请注意,cgroup v2的命令和路径与cgroup v1略有不同。在上面的示例中,我们使用了适用于cgroup v2的路径(例如/sys/fs/cgroup/cpu/my_cgroup)。

0
看了该问题的人还看了