So I wrote a relatively straightforward program to try to quickly solve an NP-complete problem. The details are unimportant, but I can’t explain the result. I wrote my C++ in a way that caused it consume a great deal of memory rather quickly (pretty much as quickly as an allocator can spit out 48-byte blocks on an Opteron 180). Once I ate up about three gigabytes of system memory, oom-killer started obliterating system services, but not my stupid program.
I don’t understand how this is possible. What stupid thing did I do that allowed oom-killer to leave my dumb program alive, but to kill system-level services?