Question

What are the various mechanisms using which we can detect if a process execution is leading to memory fragmentation?

Are there any tools available for the same? Suggestion for tools which work with 'C' code and can run on Windows, Linux and VxWorks will be helpful.

Was it helpful?

Solution

Just as a suggestion, you may want to try Valgrind. I'm not certain it's what you're looking for, but it may come in handy.

http://valgrind.org/

OTHER TIPS

There is a maxfreeblocksize in vxworks, if it keeps gettin lower and lower its an indication its getting fragmented

On linux you can see the output of:

cat /proc/buddyinfo

It tells how many pages of a given order are available. If there are very few higher order pages available and mostly lower order pages are available and it indicates your system memory is quite fragmented. Look for the "Normal" entry.

See proc.txt

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top