当前位置: 首页 > wzjs >正文

广东珠海网站建设b2b平台

广东珠海网站建设,b2b平台,工程建设概念,在哪建企业网站好cgroups是Linux内核提供的一种可以限制、记录和隔离进程组使用的物理资源(如CPU、内存,io,网络等)的机制。 1,内存限制 创建 Cgroup v2 组 进入 Cgroup v2 的挂载点目录,并创建一个新的组: cd /sys/fs/c…

cgroups是Linux内核提供的一种可以限制、记录和隔离进程组使用的物理资源(如CPU、内存,io,网络等)的机制。

1,内存限制

创建 Cgroup v2 组

进入 Cgroup v2 的挂载点目录,并创建一个新的组:

cd /sys/fs/cgroup

sudo mkdir my_memory_group_v2

设置内存限制

在 Cgroup v2 中,通过 memory.max 文件来设置内存使用的上限。例如,将内存限制为 1GB(即 1073741824 字节):

echo $((1024 * 1024 * 1024)) | sudo tee /sys/fs/cgroup/my_memory_group_v2/memory.max

这里,memory.max 的值以字节为单位,表示允许的最大内存使用量。设置为 max 则表示不限制内存使用。

将进程加入 Cgroup v2 组

找到需要限制的进程的 PID,并将其添加到 Cgroup 组的任务列表中:

echo <PID> | sudo tee /sys/fs/cgroup/my_memory_group_v2/cgroup.procs

例如,如果目标进程的 PID 为 2344,则执行:

echo 2344| sudo tee /sys/fs/cgroup/my_memory_group_v2/cgroup.procs

验证配置效果

可以通过以下命令查看当前 Cgroup 组的内存使用情况:

cat /sys/fs/cgroup/my_memory_group_v2/memory.current

此命令返回当前 Cgroup 组的内存使用量(以字节为单位)。此外,还可以查看其他统计信息文件,如 memory.stat,以获取更详细的内存使用数据


2,CPU限制

创建和配置 Cgroup 环境

在 Ubuntu 20.04 上,Cgroup v1 和 v2 可能同时存在。默认情况下,Cgroup v1 是更常用的版本。以下是基于 Cgroup v1 的具体配置方法2

检查 Cgroup 挂载点

确保 Cgroup 已正确挂载到系统中。可以通过以下命令检查:

root@ubuntu:/sys/fs# mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755,inode64)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)

如果未挂载,可以手动挂载 Cgroup 的 cpu 子系统:

sudo mount -t cgroup -o cpu none /sys/fs/cgroup/cpu

创建 Cgroup 组

进入 Cgroup 的 cpu 子系统目录,并创建一个新的组:

cd /sys/fs/cgroup/cpu

root@ubuntu:/sys/fs/cgroup# mkdir my_cpu_group
mkdir: cannot create directory ‘my_cpu_group’: Read-only file system
 

 查看信息,查看是tmpfs on /sys/fs/cgroup是ro状态。

root@ubuntu:/sys/fs# mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755,inode64)

重新挂载查看 cgroup权限,发现ro 改为了rw状态

 

root@ubuntu:/sys/fs# mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,mode=755,inode64)

设置 CPU 使用率限制

使用 cpu.cfs_quota_uscpu.cfs_period_us 来控制 CPU 使用率。例如,将 CPU 使用率限制为 50%(即每个周期内最多使用 50 毫秒):

echo 50000 | sudo tee /sys/fs/cgroup/cpu/my_cpu_group/cpu.cfs_quota_us

echo 100000 | sudo tee /sys/fs/cgroup/cpu/my_cpu_group/cpu.cfs_period_us

这里,cpu.cfs_quota_us 设置为 50000 微秒,表示每个周期允许使用的 CPU 时间;cpu.cfs_period_us 设置为 100000 微秒,表示周期长度。

将进程加入 Cgroup 组

找到需要限制的进程的 PID,并将其添加到 Cgroup 组的任务列表中:

echo <PID> | sudo tee /sys/fs/cgroup/cpu/my_cpu_group/tasks

例如,如果目标进程的 PID 为 2234,则执行:

echo 2234| sudo tee /sys/fs/cgroup/cpu/my_cpu_group/tasks

验证配置效果

可以通过以下命令查看 Cgroup 的 CPU 使用情况:

cat /sys/fs/cgroup/cpu/my_cpu_group/cpuacct.usage

此命令返回当前 Cgroup 组的累计 CPU 使用时间(单位为纳秒)。结合实际运行时间,可以计算出 CPU 使用率是否符合预期。


3,IO限制

检查 Cgroup v2 是否已挂载

在开始配置之前,需要确认系统是否已挂载 Cgroup v2。可以通过以下命令检查:

mount | grep cgroup2

如果输出中包含类似 cgroup2 on /sys/fs/cgroup 的信息,则表示 Cgroup v2 已正确挂载2

创建 Cgroup v2 组

进入 Cgroup v2 的挂载点目录,并创建一个新的组用于管理 IO 资源:

cd /sys/fs/cgroup

sudo mkdir my_io_group_v2

设置 IO 权重

在 Cgroup v2 中,可以通过 io.weight 文件来设置 IO 权重。例如,将 IO 权重设置为 100(默认值为 100,范围是 1 到 10000):

echo 100 | sudo tee /sys/fs/cgroup/my_io_group_v2/io.weight

设置设备特定的 IO 带宽限制

如果需要对特定设备设置 IO 带宽限制,可以使用 io.max 文件。例如,限制设备 /dev/sda 的读取速率为 5MB/s,写入速率为 10MB/s:

echo "sda rbps=5242880 wbps=10485760" | sudo tee /sys/fs/cgroup/my_io_group_v2/io.max

这里,rbps 表示读取带宽限制(单位为字节/秒),wbps 表示写入带宽限制(单位为字节/秒)。需要注意的是,设备名称应与系统中的实际设备名称一致4

将进程加入 Cgroup v2 组

找到需要限制的进程的 PID,并将其添加到 Cgroup 组的任务列表中:

echo <PID> | sudo tee /sys/fs/cgroup/my_io_group_v2/cgroup.procs

例如,如果目标进程的 PID 为 1234,则执行:

echo 1234 | sudo tee /sys/fs/cgroup/my_io_group_v2/cgroup.procs

验证配置效果

可以通过以下命令查看当前 Cgroup 组的 IO 使用情况:

cat /sys/fs/cgroup/my_io_group_v2/io.stat

此命令返回该 Cgroup 组的 IO 统计信息,包括读写操作次数和延迟等数据


4,网络限制

      上述设置将网络带宽限制应用于指定的进程。

      检查 Cgroup v2 是否已挂载

      在配置之前,需要确认系统是否已挂载 Cgroup v2。可以通过以下命令检查:

      mount | grep cgroup2

      如果输出中包含类似 cgroup2 on /sys/fs/cgroup 的信息,则表示 Cgroup v2 已正确挂载2

      创建 Cgroup v2 组

      进入 Cgroup v2 的挂载点目录,并创建一个新的组用于管理网络资源:

      cd /sys/fs/cgroup

      sudo mkdir my_network_group_v2

      设置网络带宽限制

      在 Cgroup v2 中,可以通过 io.max 文件来设置设备的 IO 带宽限制,但网络带宽限制通常需要结合 net_cls 控制器使用。首先,确保内核支持 net_cls 控制器3

      1. 启用 net_cls 控制器
        确保 net_cls 控制器已加载到 Cgroup v2 中。可以通过以下命令检查:

        ls /sys/fs/cgroup/my_network_group_v2/net_cls.classid

        如果文件不存在,则需要重新挂载 Cgroup v2 并启用 net_cls 控制器。

      2. 设置网络分类 ID
        为进程分配一个唯一的网络分类 ID:

        echo 0x12345678 | sudo tee /sys/fs/cgroup/my_network_group_v2/net_cls.classid

      3. 配置 tc(Traffic Control)规则
        使用 tc 命令为指定的网络分类 ID 配置带宽限制。例如,限制出站带宽为 1Mbps:

        sudo tc qdisc add dev eth0 root handle 1: htb default 10

        sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit

        sudo tc filter add dev eth0 protocol ip prio 1 handle 0x12345678 fw classid 1:1

      将进程加入 Cgroup v2 组

      找到需要限制的进程的 PID,并将其添加到 Cgroup 组的任务列表中:

      echo <PID> | sudo tee /sys/fs/cgroup/my_network_group_v2/cgroup.procs

      例如,如果目标进程的 PID 为 2234,则执行:

      echo 2234 | sudo tee /sys/fs/cgroup/my_network_group_v2/cgroup.procs

      验证配置效果

      可以通过以下命令查看当前 Cgroup 组的网络分类 ID 和带宽限制是否生效:

      cat /sys/fs/cgroup/my_network_group_v2/net_cls.classid

      sudo tc -s qdisc show dev eth0

       

      http://www.dtcms.com/wzjs/232883.html

      相关文章:

    1. 网站设计公司官网小红书seo优化
    2. 经典的公司简介范文百度seo排名曝光行者seo
    3. 动态网站开发知识点北京优化推广
    4. 专业外包网站建设公司长沙网络营销推广公司
    5. java做网站要哪些软件成都做网络推广的公司有哪些
    6. 谁有做那事的网站网络推广seo怎么做
    7. 网上接网站开发类订单的平台网站百度收录突然消失了
    8. 做那个的网站seo引擎优化是什
    9. 个人网站建设图片素材企业营销策划是做什么的
    10. 网站域名地址是什么上海网络公司seo
    11. 做设计接外快在哪个网站企业站seo价格
    12. 慈城旅游网站建设策划书广州广告公司
    13. 企业推广语南安seo
    14. 重庆公司专业建站外链推广是什么意思
    15. 南昌网站建设业务新乡百度网站优化排名
    16. 网络维护培训班seo建站是什么意思
    17. 做文案公众号策划兼职网站nba常规赛
    18. 做个公司网站一般多少钱深圳百度开户
    19. 网站建设收费标准教程cnzz
    20. 网站seo优化seo自媒体培训
    21. 做网站密云今日要闻 最新热点
    22. 网站建设视觉效果百度的营销中心上班怎么样
    23. 铁岭房地产网站建设今日头条seo
    24. 网站流量真难做免费b站推广网站2022
    25. 南京市公共资源建设中心网站淘宝seo推广优化
    26. 武汉品牌网站设计百度推广开户费用多少
    27. 如何查看网站的建设者外贸网站优化
    28. 优化是企业通过网站来做吗seo综合查询系统
    29. 重庆网站建设开发公司友链提交入口
    30. 做彩票网站要多大服务器正规推广平台