Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Cgroup内存控制器_Linux_Linux Kernel_Cgroups - Fatal编程技术网

Linux Cgroup内存控制器

Linux Cgroup内存控制器,linux,linux-kernel,cgroups,Linux,Linux Kernel,Cgroups,我在4.18内核上用v1和v2 cgroup内存控制器做了一个简单的实验,如下所示 我相应地设置了最大内存限制。对于v1,我以字节为单位写入memory.limit,对于v2,我写入memory.max文件 我将当前bash实例移动到其中(即$$),并启动一个只执行ls的循环。限制设置为8M字节 while [[ 1 ]]; do ls; done 一段时间后,bash实例由于OOM而终止。我不明白为什么会这样,因为ls进程将在完成后返回内存,以便在下一次迭代中重用 我错过了什么 谢谢,这是

我在4.18内核上用v1和v2 cgroup内存控制器做了一个简单的实验,如下所示

  • 我相应地设置了最大内存限制。对于v1,我以字节为单位写入memory.limit,对于v2,我写入memory.max文件
  • 我将当前bash实例移动到其中(即$$),并启动一个只执行ls的循环。限制设置为8M字节

    while [[ 1 ]]; do ls; done
    
  • 一段时间后,bash实例由于OOM而终止。我不明白为什么会这样,因为ls进程将在完成后返回内存,以便在下一次迭代中重用

    我错过了什么


    谢谢,

    这是一个有趣的问题,但我建议您尽可能简化此过程,以便读者尽可能复制您的过程。当你说我写入memory.limit_in_bytes时,请给出执行此操作的确切代码。memory.max文件也是如此。那么,您从哪里运行while循环,1)cmd行?2) 在脚本中?3) 在crontab的脚本中?4) ??? 其他的?请不要在评论中回复,但用这些信息改善你的Q。在鼠标选中的文本上使用编辑菜单中的
    {}
    工具,以正确的格式设置为code/data/errMsgs。祝你好运