<div dir="ltr">Hello,<div><br></div><div style>I've restricted an LXC container to only have access to 300MB of RAM. When I run the following command 100 times, the process crashes about 3% of the time:</div><div style>

<br></div><div style>dd if=/dev/zero of=out bs=1000000 count=1000<br></div><div style><br></div><div style>The error code is -9, and it seems to be consistent with the container running out of memory. There are 90,000 memory allocation failures, as counted by cgroups. I'm guessing this is because /proc/meminfo reports the total memory in the system, rather than the container.</div>

<div style><br></div><div style>When dd does succeed, I notice that the memory.usage_in_bytes cgroup reports 300MBs in use. Using "free -m", it appears that the 300MBs are allocated under buffer/cache. There are still tens of thousands of memory allocation failures.</div>

<div style><br></div><div style>My goal is to make it such that "dd" never crashes. In other tests, writing arbitrary large files also seems to eventually trigger an error that I assume is from running out of memory.</div>

<div style><br></div><div style>Can anyone shed light on this situation?</div><div style><br></div><div style>Best,</div><div style>Ken</div></div>