----- Original Message -----
That depends. Sometimes you want the core on oom to diagnose a memory leak. There are two different cases:
- a single program went awry and used all memory and was killed. After it is gone, the machine will be usable again. It's potentially useful to dump the core.
- the machine is generally starved for resources, and even after the biggest consumer of memory has been killed, there still is not enough. Dump of the core puts further strain on the system and should be avoided.
The question is how to distinguish those two cases.
I can't think of a single time of when I'd want to wait for the core dumping to finish (which can make the machine unusable for tens of minutes) to debug a memory usage problem.
I'd say making this a kernel tunable that's disabled by default would cover the vast majority of uses, development machines included.