当前位置:首页 > 内存 > 正文

ubuntu内存管理

  • 内存
  • 2024-04-22 10:33:23
  • 1487

一、Ubuntu下限制进程使用内存资源的方法(cgroup)最近由于项目需要,需要对运行某个程序时内存资源的使用进行限制,例如限制进程只能使用1GB内存资源。
目前有几种可选的方法,其中之一是使用内存条件有限的物理设备。例如,如果我选择4G内存,我将只使用具有4G内存的设备。但这种情况很不方便,也不灵活,如果内存资源限制在1G甚至更小,哪里可以找到满足这些条件的物理设备呢?因此,从硬件上限制它是非常笨拙的,所以很自然地想到用软件的方法来灵活地限制它。
之前研究发现Linux中的ulimit命令可以限制shell进程使用的资源,但是发现用于内存资源的“-m”命令只对Linux内核版本2有效.x,更高版本不再有效。(怪不得我运行的时候就说根本不起作用,所以我就踏入了大家的陷阱……)
后来我发现还有一种方法可以利用cgroup来限制资源,我推荐了它!!
我们来谈谈如何在Ubuntu上使用cgroup限制进程内存:
1.安装命令
2.进入对应的目录,一般在下的位置:
3.在这个目录下创建自己的集合目录
你会看到这个目录下会有很多文件,我们只需要使用_in_bytes文件
4.确定内存大小,写入_in_bytes文件
这里1G的默认单位是B,也就是说你写成1*1024*1024都是一样的
5.具体使用
这里测试的是上面的第3步,我们自己创建的组在/sys/fs/cgroup/memory/目录下,然后按照要执行的命令,可以指定执行命令的内存资源!
二、如何修改ubuntu虚拟机内存大小打开虚拟机管理器,选择Ubuntu,右键单击,单击设置,在系统页面将内存修改为所需值。
三、ubuntu如何限制可用物理内存大小在grub中添加mem内核参数
vi/boot/grub/
linux/boot/vmlinuz-3.13.0-36-genericroot=UUID=57532513-55cf-45bd-a2aa-bcb75514f00frolocale=zh_CNquietsplash$vt_handoffmem=20480M
该模式下可以使用的物理内存只有20G。