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

wordpress做学校网站thinkphp 网站源码

wordpress做学校网站,thinkphp 网站源码,高级室内设计网站,移动建站平台有哪些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/a/516450.html

      相关文章:

    1. 数据库(6)
    2. 【性能优化】--perfetto分析思路
    3. **发散创新:探索生物神经网络与编程语言的交融**随着生物神经网络研
    4. 平台网站开发公司广州安全教育平台登陆
    5. 第1章:初识Linux系统——第8节:查看/修改权限控制和ACL
    6. Rust所有权机制在Web服务开发中的避坑指南
    7. 成都网站开发费用企业网站建设任务书
    8. pyhton 螺旋矩阵(指针-矩阵-中等)含源码(二十六)
    9. 矩阵的奇异值分解(SVD)在三维图形学中的进阶应用
    10. 装饰器加强
    11. 17Z一起做网站广州站南阳商都网站做网站
    12. MySQL多实例部署实战指南
    13. 微网站建设招聘做招聘网站代理商需要多少钱
    14. Android 网络变动监听
    15. Deep Metric Learning(深度度量学习)
    16. 消息队列RabbitMQ、Kafka、ActiveMQ 、Redis、 ZeroMQ、Apache Pulsar对比和如何使用
    17. 建网站专用网站标准物质网站建设模板
    18. (四)Flutter插件之IOS插件开发
    19. 湘潭网站建设 x磐石网络广州网站建设培训学校
    20. 织梦做的网站老是被黑国外做美食视频网站有哪些
    21. 自动化测试相关使用
    22. 做移门图的 网站有哪些做招聘网站需要做什么公司
    23. TDengine 数字函数 RADIANS 用户手册
    24. 做导航网站赚钱企业网站搜索优化外
    25. 网站网页设计公司海南省建设执业中心网站
    26. 如何解压一个MacOs PKG 安装包修改内容后重新打包
    27. Linux 与 Windows:谁更适合 CLI 模式 AI 编程工具?
    28. 深度学习(15)-PyTorch torch.nn 参考手册
    29. 人工智能Pytorch开发环境的搭建
    30. 【研究生随笔】Pytorch中的多层感知机