Ubuntu下限制进程使用内存资源的方法(cgroup)

Ubuntu下限制进程使用内存资源的方法(cgroup),第1张

最近由于项目的需要,跑某个程序的时候需要限制其内存资源的使用,例如限制某个进程只能使用1G的内存资源

这时候有几种可选的方法,一种就是使用限制内存条件的物理机器,比如你限制4G内存那我就用只有4G内存的机子。但是这种情况不方便,也不灵活,如果限制1G,甚至更小的内存资源呢,上哪去找符合这样条件的物理机器呢?因而从硬件上进行限制就非常笨拙,自然而然就想到用软件的方法进行灵活的限制。

之前搜索发现,linux下的ulimit命令可以对shell进程所用资源进行限制,但是发现其中对于内存资源使用的命令"-m"只对linux内核版本2.x的才有效,之后版本的都已经无效的。(怪不得我说跑的时候咋一点作用都没有,也算是替大家踩坑了...)

后来发现还有一种方法就是使用cgroup来对资源进行限制,推荐!!

下面讲一下Ubuntu上使用cgroup限制进程内存的方法:

1、安装命令

2、进入相应的目录,一般会下如下所示的位置中:

3、在该目录下创建自己的组目录

会看到在该目录下面会有很多文件,而我们只需要用到其中memory.limit_in_bytes文件

4、限制内存大小,写入memory.limit_in_bytes文件

这里1G默认单位是B,也就是你写成1*1024*1024也是一样的

5、具体使用

这里test就是上面第3步,我们在/sys/fs/cgroup/memory/目录下自己创建的组目录,然后之后跟上要执行的命令,就可以对执行的命令进行内存资源限制啦!

镜像特征:

Ubuntu 22.04系统

内置Wine 7.8,可运行大量Windows 软件

高度精简,内存占用仅200M不到。

自制UI,Windows3.1风格。

完全开源

镜像说明:

用户名为ubuntu,密码为空格,具有root权限。

关机:关闭应用程序启动器即可关机。

建议开启virtio半虚拟化提升速度。

/home/ubuntu/.wine/为存放Windows程序的地方(默认是隐藏的,需要手动输入路径)

链接: https://pan.baidu.com/s/125yCD6G5yD9RXqpb4yyF8A

 提取码: bmx3

如果遇到什么问题,欢迎来我的QQ群找我~

859937537

没有必要降低的……

linux系列的系统都是这样,它会尽量把内存全部利用起来。

也不用担心内存不够用(除非内存只达到系统运行的最低要求),因为它的内存管理机制在需要运行新程序的时候查看是否够用,如果不够就会自动清理等级相对低的程序提供给新程序……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11898715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存