Обнаружение проблемы фрагментации памяти в процессе
-
22-09-2019 - |
Вопрос
Каковы различные механизмы, с помощью которых мы можем определить, приводит ли выполнение процесса к фрагментации памяти?
Есть ли какие-либо инструменты для того же?Предложения по инструментам, которые работают с кодом C и могут работать в Windows, Linux и VxWorks, будут полезны.
Решение
В качестве предложения вы можете попробовать Valgrind.Я не уверен, что это то, что вы ищете, но это может пригодиться.
Другие советы
В vxworks есть maxfreeblocksize, если он становится все ниже и ниже, это указывает на то, что он фрагментируется.
В Linux вы можете увидеть вывод:
cat /proc/buddyinfo
Он сообщает, сколько страниц данного заказа доступно.Если доступно очень мало страниц более высокого порядка и доступны в основном страницы более низкого порядка, это означает, что ваша системная память сильно фрагментирована.Найдите запись «Нормальный».
Видеть proc.txt