Archive for January, 2011

Happy new year !

January 15, 2011 Leave a comment

Happy debugging, may you find happiness, fame and money by hunting bugs !

For this new year, I want to share with you a tremendously useful site : The Universal Troubleshooting Process written by Steve Litt (not the football player).

My life has changed since I read it :)

Categories: Message

Memory management under Windows : what your mother didn’t tell you

January 15, 2011 2 comments

To cope with the various needs of any kind of software, every operating system offer a generalist memory management system. As it works out-of-the-box most of the time, developers usually don’t dig into it to find how it behaves under the hood. But you may be surprised to know that you can not access all the memory of your process, even when some parts seem to be free. Beyond available memory and fragmentation of user space, there is another barrier that can prevent you to get the remaining free bits : the heap service and the minimum size of a virtual allocation call.

Imagine a software who, after a few hours of uptime, starts to throw out-of-memory exceptions. First thought is that, indeed, you don’t have enough memory left. Let’s say that 1Go is free, and that you just ask for a small block of 30k. If you’re familiar with memory issues, second thought may be: “memory fragmentation! Check the largest contiguous block!”. And if I say that a block of 60k is available ? Well, if you are like me before this issue happens at my work, you’re stuck. But let’s go back to the beginning.

Read more…

Categories: Memory issues Tags: , ,

Get every new post delivered to your Inbox.