首页 > 其他分享 >使用cgroup限制资源方法

使用cgroup限制资源方法

时间:2024-10-08 11:34:57浏览次数:5  
标签:fs 限制 cgroup echo sys myapp 资源

1. 使用cgroup(控制组)限制进程占用内存方法     1:创建cgroup目录:     首先,需要在/sys/fs/cgroup/memory目录下创建一个子目录     sudo mkdir /sys/fs/cgroup/memory/myapp    // sudo mkdir /sys/fs/cgroup/cpu/myapp,限制CPU方法       2:设置内存限制:     sudo sh -c 'echo 50M > /sys/fs/cgroup/memory/myapp/memory.limit_in_bytesmemory.soft_limit_in_bytes'     // 限制CPU方法:sudo sh -c 'echo 50000 > /sys/fs/cgroup/cpu/myapp/cpu.cfs_quota_us'       // 限制CPU方法:sudo sh -c 'echo 100000 > /sys/fs/cgroup/cpu/myapp/cpu.rt_period_us'     // 其中,cpu.cfs_quota_us表示CPU时间配额(单位为微秒),cpu.rt_period_us表示CPU周期(单位为微秒),这里将CPU时间配额设置为50000微秒,CPU时间周期设置为100000微秒,表示CPU使用率限制为50%。       3:添加进程到cgroup:     echo >/sys/fs/cgroup/memory/myapp/cgroup.procs    // 这一项限制各个资源处理方法都一样, 将pid写入cgroup.procs,则该pid所在的线程组及该pid的子进程等都会自动加入到cgroup中。将pid写入tasks,则只限制该pid。       4:禁用OOM:     echo 1 >/sys/fs/cgroup/memory/myapp/memory.oom_control    //默认当进程超过设置的内存上限后,会直接通过oom kill掉进程,这里通过禁用oom功能,让进程内存超限后不直接kill掉,而是一直等待可用内存,直到满足自身需求     2. 使用cgroup(控制组)限制进程磁盘I/O方法     1:创建cgroup目录:     首先,需要在/sys/fs/cgroup/blkio目录下创建一个子目录     sudo mkdir /sys/fs/cgroup/blkio/myapp       2:设置 I/O 限制:         限制设备的读取带宽(字节/秒)         sudo sh -c 'echo 8:16 1048576'  > /sys/fs/cgroup/blkio/myapp/blkio.throttle.read_bps_device  //限制磁盘读取速度为:为1M/S         限制设备的写入带宽(字节/秒)         sudo sh -c 'echo 8:16 1048576'  > /sys/fs/cgroup/blkio/myapp/blkio.throttle.write_bps_device //限制磁盘写入速度为:为1M/S         blkio.throttle.read_iops_device:限制设备的读取 IOPS(设备每秒钟可以执行的读/写请求数上限)//单位为 bios/second         blkio.throttle.write_iops_device:限制设备的写入 IOPS(设备每秒钟可以执行的读/写请求数上限)//单位为 bios/second       3:添加进程到cgroup:     echo >/sys/fs/cgroup/memory/myapp/cgroup.procs     3. 使用cgroup(控制组)限制网络带宽的方法     1:创建cgroup目录:     首先,需要在/sys/fs/cgroup/net_cls目录下创建一个子目录  mkdir /sys/fs/cgroup/net_cls     mount -t cgroup -onet_cls net_cls /sys/fs/cgroup/net_cls     mkdir /sys/fs/cgroup/net_cls/0       2:设置 cgroup 的 classid,用于标识网络流量的类别:     echo 0x100001 >  /sys/fs/cgroup/net_cls/0/net_cls.classid       3:使用 tc 命令配置网络限制:         1> 建立队列:         tc qdisc add dev eth0 root handle 10: htb           2> 配置分类:         tc class add dev eth0 parent 10: classid 10:1 htb rate 40mbit           3> 添加过滤器:         tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup       4:添加进程到cgroup:         手动写入进程ID:echo >/sys/fs/cgroup/memory/myapp/cgroup.procs   //需要先通过ps  -ef命令获取进程ID        自动写入进程ID:cgexec -g net_cls:myapp xxx这里是要执行的命令,会自动写入进程ID到cgroup.procs文件中     /*  将pid写入cgroup.procs,则该pid所在的线程组及该pid的子进程等都会自动加入到cgroup中 */       tc class change dev eth0 parent 10:  classid 1:10 htb rate 91200Kbit ceil 91200Kbit //动态改变带宽     tc qdisc del dev eth0 root        //删除qdisc和class配置     tc qdisc show dev eth0            //显示qdisc配置     tc class show dev eth0             //显示class配置     tc filter show/del dev eth0       //查看/删除过滤配置     /* 这里,eth0 是你想要限制网络流量的网络设备名称。htb(Hierarchical Token Bucket)是一种用于流量整形的算法,它允许你设置带宽限制。*/

标签:fs,限制,cgroup,echo,sys,myapp,资源
From: https://www.cnblogs.com/yixiaogo/p/18451344

相关文章

  • [Http] 跨源资源共享(CORS)
    基本概念CORS指的是跨源资源共享(Cross-OriginResourceSharing),默认情况下不允许从一个源(即一个域名、协议、端口号组合)加载页面执行跨源HTTP请求。也就是说,不允许A.com请求B.com的资源,通常发生在前后端分离项目,前端项目部署的服务器和后端部署的服务器不同源。举个例......
  • 在浏览器上访问媒体资源配置【文件上传】
    1.根urls.py文件中fromdjango.contribimportadminfromdjango.urlsimportpath,include,re_pathfromdjango.views.staticimportservefromdjango.confimportsettingsurlpatterns=[#path('admin/',admin.site.urls),path('api/shipp......
  • 如何去除Windows10文件资源管理器上的6个文件夹:桌面、视频、图片、文档、下载、音乐和
    尽管 Win10 提供了迄今为止最先进和丰富的功能,但并不是每一个人都希望其预装那么多的组件。长期以来,微软通常会在Windows资源管理器中包含6个“桌面、文档、下载、音乐、图片和视频”的默认存储位置。在2017年10月的“秋季创意者更新”之后,它又增加了“3D对象”。其旨在为......
  • 城市扩张与土地资源:压力之下寻平衡之道
    在飞速发展的现代城市化进程中,城市扩张犹如一股不可阻挡的力量,既见证了人类文明的辉煌成就,也给土地资源带来了前所未有的压力与挑战。深入分析城市扩张对土地资源造成的影响,并探索可持续的解决方案,以期在城市发展的大潮中,找到与自然和谐共生的平衡点。 一、......
  • 电影《志愿军:存亡之战》迅雷BT下载[BD/HD-MP4/MKV1.7G/2.06G]高清版百度云资源已完结
    电影《志愿军:存亡之战》深度解析引言电影《志愿军:存亡之战》是陈凯歌执导的一部战争历史剧情片,作为《志愿军》系列三部曲的第二部,该片于2024年9月30日在中国大陆上映。影片汇聚了朱一龙、张子枫、辛柏青、吴京等实力派演员,以抗美援朝战争中的关键战役为背景,通......
  • 电影《志愿军存亡之战》百度云下载/迅雷磁力下载高清版4K资源8.26GB
    电影《志愿军:存亡之战》观后感电影《志愿军:存亡之战》是由陈凯歌执导,张珂编剧,汇聚了朱一龙、张子枫、辛柏青、吴京等众多实力派演员的战争历史剧情片。该片作为《志愿军》系列影片的第二部,于2024年9月30日在中国大陆上映,讲述了抗美援朝战争中第三次战役到第五次战役中的......
  • 3.资源《Arduino UNO R3 proteus 电机测速仿真工程文件(含驱动代码)》说明。
     资源链接: ArduinoUNOR3proteus电机测速仿真工程文件(含驱动代码)1.文件明细:2.文件内容说明包含:proteus工程、原理图、仿真程序。3.内容展示4.简述该文件为Proteus工程。用于电机测速验证。5.演示视频proteus仿真电机测速......
  • PbootCMS调用标题和摘要字数限制的方法
    长度截取方法长度截取方法主要用于控制标题或内容的长度,可以使用 len=* 或 lencn=* 参数。其中 lencn=* 会更准确地处理中英文字符长度不一致的问题。示例代码列表页标题截取html {pboot:listnum=10}<li><ahref="[list:link]">[list:titlelen=10]......
  • 历经十年/头发都快掉光/秘钥生成器终极版/机器码/到期功能限制/运行时间限制/日期防篡
    一、项目介绍1.0前言说明标题一点都不夸张,从第一版的秘钥生成器到今天这个版本,确实经历了十年的时间,最初的版本做的非常简陋,就是搞了个异或加密,控制运行时间,后面又增加设备数量的控制,然后就是到期时间的限制。这种有个巨大缺陷就是可复制性,如果将授权的秘钥文件,拷贝到其他电脑......
  • 探索阿贝云:免费资源的极致体验
    在互联网服务日益丰富的今天,寻找一个既免费又高效的云服务提供商变得尤为重要。阿贝云,作为国内领先的云服务提供商,以其免费虚拟主机和云服务器服务赢得了广大用户的青睐。以下是我对阿贝云服务的一些亲身体验和感受。1. 独立IP与BGP多线路阿贝云的免费云服务器提供了独立IP......