首页 > 其他分享 >使用cgroup限制CPU核数

使用cgroup限制CPU核数

时间:2023-01-16 11:02:35浏览次数:57  
标签:cpuset tiger cgroup 进程 核数 CPU procs

在性能测试的时候,有的时候需要限制CPU为指定核数,我们很容易想到docker,其实还可以通过cgroup来实现。

关于cgroup

cgroups全称control groups,是Linux内核提供的物理资源隔离机制,通过这种机制,可以实现对Linux进程或者进程组的资源限制、隔离和统计功能。比如可以通过cgroup限制特定进程的资源使用,比如使用特定数目的cpu核数和特定大小的内存,如果资源超限的情况下,会被暂停或者杀掉。

cgroup 和 namespace类似,也是将进程进行分组,但它的目的和namespace不一样,namespace 是为了隔离进程组之间的资源,而cgroup是为了对一组进程进行统一的资源监控和限制。.

限制CPU核数的方法

操作步骤如下:

进入/sys/fs/cgroup/cpuset目录。创建一个新的文件夹,文件夹的名字即为控制组的名字,比如tiger,

[root@mdw tiger]# pwd
/sys/fs/cgroup/cpuset/tiger
[root@mdw tiger]# ls
cgroup.clone_children  cpuset.memory_pressure
cgroup.procs           cpuset.memory_spread_page
cpuset.cpu_exclusive   cpuset.memory_spread_slab
cpuset.cpus            cpuset.mems
cpuset.effective_cpus  cpuset.sched_load_balance
cpuset.effective_mems  cpuset.sched_relax_domain_level
cpuset.mem_exclusive   notify_on_release
cpuset.mem_hardwall    tasks
cpuset.memory_migrate

先修改cpuset.mems,

[root@mdw tiger]# echo 0 > cpuset.mems

不然的话会报write error: No space left on device错误。

然后修改cpuset.cpus具体的CPU核数,比如限制使用32个核,

[root@mdw tiger]# cat cpuset.cpus 
0-31

限制好后,需将将具体限制的进程写入cgroup.procs文件中

比如4462进程,echo 4462 > cgroup.procs即可。

进程fork的子进程会自动加人到cgroup.procs中,进程结束后,会从cgroup.procs中移除。

如果进程还没有结束,怎么移除限制呢?直接删是删不掉的,方法是将这个tiger/cgroup.procs中的进程ID重写到上级sys/fs/cgroup/cpuset/cgroup.procs中既可以从`sys/fs/cgroup/

cpuset/tiger/cgroup.procs`中移除限制。

标签:cpuset,tiger,cgroup,进程,核数,CPU,procs
From: https://www.cnblogs.com/zm24/p/17054899.html

相关文章

  • CPU中断
    什么是中断假设你在玩王者荣耀,突然一个电话过来…,这就是​​中断​​!对CPU来说就是:CPU在执行某一段程序的时候收到某些特定信号转而去执行另一段特定程序的过程。那为......
  • cpu profiler及火焰图学习
    转自:https://blog.csdn.net/10km/article/details/838200801.profiler输出 大字体显示的节点就是CPU使用率的’热点’。上述为SVG模式,可伸缩向量图形(ScalableVectorG......
  • 数据库服务器CPU不能全部利用原因分析
    背景客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。现象通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说......
  • Linux下查看CPU信息, 包括位数和多核信息
     以redhat6.0为例:查看当前操作系统发行版信息#cat/etc/issueRedHatEnterpriseLinuxServerrelease6.0(Santiago)Kernel\ronan\m查看cpu型号#cat/proc/cpuinf......
  • 笔记本在使用一段时间后莫名卡顿的解决方法——CPU莫名锁频
    首先要看看是不是因为CPU锁频了。键盘按下Ctrl+Shift+Esc,看看CPU内的速度部分是否保持在零点几。解决方案如果是的话,可以先将电脑关机,然后将所有的外设拔掉,电源也拔掉......
  • 认识 CPU 底层原理(2)——逻辑门
    本文为B站UP主硬件茶谈制作的系列科普《【硬件科普】带你认识CPU》系列的学习笔记,仅作个人学习记录使用,如有侵权,请联系博主删除上一篇文章我们从最基本的粒子的角度认识......
  • 认识CPU底层原理(1)——MOSFET
    本文为B站UP主硬件茶谈制作的系列科普《【硬件科普】带你认识CPU》系列的学习笔记,仅作个人学习记录使用,如有侵权,请联系博主删除近年来,由于国内外各种因素影响,半导体行业......
  • MySQL--无效更新导致的CPU飙升问题
    问题描述某业务使用的MySQL服务器CPU存在周期性波动,根据监控排查那种操作引发CPU异常!首先排查QPS,发现增删改查的QPS均无明显波动。然后排查操作记录数,发现增删改查的记......
  • 第11代Intel CPU下无法启动旧版本Nuke/Katana/Mari的解决方法
    现在越来越多的公司或朋友升级了自己的硬件(第10代或11代CPU),也接到一些朋友的求助,很多朋友发现自己旧版本的Nuke或Katana或Mari无法在新的硬件上启动或者启动后又崩溃了,py......
  • 数据库服务器CPU不能全部利用原因分析
    背景客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢。现象通过SQL专家云实时可视化界面看到大量的绿点,绿点表示会话在等待某项资源,绿点越大说明等......