5 ms·
Windows does more of it, in the sense the heap manager likes to give freed blocks back to the OS, whereas UNIX programs traditionally never gave memory back unt
by bboreham 10y ago
Windows does more of it, in the sense the heap manager likes to give freed blocks back to the OS, whereas UNIX programs traditionally never gave memory back until program exit.
I had a massive production outage a few years back involving this behaviour on Windows; symptom was 100% CPU usage in-kernel on exactly two threads and no other processes doing anything much. Still recall that as one of the most interesting bugs to track down.
- viraptor 10y agoHow did you track it down? MS's performance debugging toolkit? (Can't remember the actual name) Or something else?
- bboreham 10y agoHours and hours of narrowing down the symptom from a program that would recreate it, plus disassembling the Windows heap manager and tracing through it in the debugger.
- _wmd 10y agoThis hasn't really been true on Linux for a long time, glibc happily munmaps unused arenas when they empty and some dynamic threshold is reached
- nikanj 10y agoHave you written about that outage anywhere? Sounds really interesting!
- bboreham 10y agoYeah, I should really do that.