ubuntu

ubuntu定时任务如何设置资源限制

小樊
34
2025-11-26 14:32:17
栏目: 智能运维

在Ubuntu中,可以使用cgroups(control groups)来限制定时任务的资源使用。以下是设置资源限制的步骤:

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

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

  1. 设置资源限制:
echo "50000" | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_quota_us
echo "100000" | sudo tee /sys/fs/cgroup/cpu/my_cgroup/cpu.cfs_period_us

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

echo "100M" | sudo tee /sys/fs/cgroup/memory/my_cgroup/memory.limit_in_bytes

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

  1. 将定时任务添加到cgroup:

首先,找到定时任务的进程ID(PID)。例如,如果你的定时任务是一个名为my_script.sh的脚本,可以使用以下命令找到它的PID:

pgrep -f my_script.sh

假设找到的PID为12345,将此进程添加到my_cgroup

echo "12345" | sudo tee /sys/fs/cgroup/cpu/my_cgroup/tasks
echo "12345" | sudo tee /sys/fs/cgroup/memory/my_cgroup/tasks

现在,定时任务将在my_cgroup的限制下运行。

  1. (可选)如果你想删除cgroup,可以使用以下命令:
sudo cgdestroy /sys/fs/cgroup/cpu/my_cgroup
sudo cgdestroy /sys/fs/cgroup/memory/my_cgroup

这将删除之前创建的my_cgroup及其资源限制设置。

0
看了该问题的人还看了