We have an application server which for legacy reasons still runs on 32bit kernel with PAE (Ubuntu 12.04 LTS). The server has 24GB of RAM, as seen in the output of free:
$> free -lmt
total used free shared buffers cached
Mem: 24256 19468 4788 0 0 2382
Low: 189 146 42
High: 24067 19321 4745
-/+ buffers/cache: 17085 7170
Swap: 19956 47 19908
Total: 44212 19515 24697
However, as soon as the real memory usage rises over approximately 16GB, processes are killed by the OOM killer (notably Google Chrome), and some memory allocations from Java also tend to fail. I have already set
vm.overcommit_memory = 1
via sysctl, but it doesn't seem to help. Here is an excerpt of dmesg which shows the output after one of the OOMs.