Detecting memory fragmentation problem in a process
Asked Answered
N

3

6

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.

Nancinancie answered 22/1, 2010 at 6:33 Comment(4)
On which platform should said tools run?Aby
Thanks for the question. I have edited and updated my question.Nancinancie
Same question here #1387276Kentish
on Solaris, malloc_stats function can be used (need to be called from inside the process, either code it in or call by attaching to GDB). Unfortunately on Linux systems this might NOT return correct valueHypercritical
G
2

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/

Gardiner answered 29/1, 2010 at 11:58 Comment(0)
G
1

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

Godiva answered 19/2, 2010 at 16:37 Comment(0)
L
0

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

Leukocyte answered 19/4, 2014 at 23:43 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.