溫馨提示×

ubuntu進程如何限制資源使用

小樊
32
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女