Brief problem description: A 64-bit Gentoo on Intel Core-2 Q6600 reports about 3GB used out of 8GB total memory after reboot. This memory is neither claimed by any process, nor is it used by buffers/cache.
Context: I have first noticed this behavior after the OOM killed the
emerge process when trying to build octave from source. When the system became responsive again, there still remained about 3GB of reportedly used memory that was not used by any process. (Please note, that I can't say for sure that this was really on the beginning - maybe I just didn't notice before.)
I tried reboot, as I am not familiar with the OOM possible issues, but the memory was reportedly used again.
Then I tried Memcheck86+ which reported one "failing address" error on 3246.3MB (test repeated 5x). I lowered the RAM frequency and the error disappeared (test repeated 3x).
However, on my Gentoo, 3GB is persistently reported as used with no apparent explanation (please see the diagnostic reports below).
I have also tried a live distro (Parted Magic), which apparently behaves normally (about several hundreds of used memory after boot up).
Any suggestions about the possible cause or even solution?
Edit: I am now able to overcome the problem, but still could not explain it. I describe what I've tracked so far:
- The 3GB of memory is not used when started in a single-user mode.
iptablesresults in the 3GB usage, while dmesg reports:
nf_conntrack: falling back to vmalloc
iptablesdoes not revert the process, the memory remains used.
Then I changed my kernel configuration so that the
nf_conntrack is no longer built-in, but rather it is loaded as module. After reboot,
iptables starts without the
falling back to vmalloc message and also without consuming the 3GB.
I have no idea, how this can be explained. Maybe some kernel developer can help explaining, what exactly could have caused this behavior?