钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1094374
首页 Linux 正文内容

linux+bkill

钟逸 Linux 2025-08-10 15:41:01 6

bkill脚本通过cgroups限制程序的cpu时间和内存使用,防止其占用过多资源。以下是在linux上配置bkill脚本的步骤:

1. 安装cgroup

首先,确保已安装cgroup。在大多数linux发行版中,可以使用以下命令安装:

bash

sudo apt-get install cgroup-tools

2. 创建cgroup组

创建一个名为“test”的cgroup组,用于限制程序的资源使用:

bash

sudo mkdir /sys/fs/cgroup/cpu,cpuacct,memory/test

3. 设置cgroup限制

将进程或程序分配到“test”cgroup组,并设置cpu时间和内存限制:

bash

sudo echo 100000 > /sys/fs/cgroup/cpu,cpuacct,memory/test/cpu.cfs_quota_us

sudo echo 100M > /sys/fs/cgroup/cpu,cpuacct,memory/test/memory.limit_in_bytes

* cpu.cfs_quota_us:以微秒为单位设置cpu时间限制,本例中为100000微秒(0.1秒)。

* memory.limit_in_bytes:以字节为单位设置内存限制,本例中为100MB。

4. 创建bkill脚本

创建一个名为“bkill”的脚本,内容如下:

bash

!/usr/bin/bash

检查是否指定了PID

if [ "$ " -ne 1 ]; then

echo "Usage: ./bkill "

exit 1

fi

获取PID

pid=$1

将PID添加到cgroup组

sudo cgcreate -g cpu,cpuacct,memory:test $pid

限制进程的资源使用

sudo echo 100000 > /sys/fs/cgroup/cpu,cpuacct,memory/test/cpu.cfs_quota_us

sudo echo 100M > /sys/fs/cgroup/cpu,cpuacct,memory/test/memory.limit_in_bytes

等待进程退出

wait $pid

删除cgroup组

sudo cgdelete cpu,cpuacct,memory:test

5. 使用bkill脚本

要使用bkill脚本限制进程的资源使用,请按照以下步骤操作:

找到要限制的进程的PID。

在命令行中,使用以下命令运行bkill脚本,替换为进程的PID:

bash

./bkill

bkill脚本将进程添加到“test”cgroup组,并限制其资源使用。当进程退出后,脚本会删除cgroup组。

文章目录
    搜索