Detecting memory fragmentation problem in a process
-
22-09-2019 - |
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.
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.
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