vasek |
|
Темы:
47
Сообщения:
11881
Участник с: 17 февраля 2013
|
Раньше считал, что это все ерунда, но как то заинтересовало, что память стала уменьшаться, незначительная потеря производительности - грешил на утечку памяти. А когда начитался, то был удивлен тем, что память подвержена фрагментации (и проблема уменьшения памяти не обязательно в утечке памяти), а особенно удивило то, что в самом ядре заложен механизм дефрагментации памяти. Привожу цитату из одной статьи: Посмотреть кол-во свободных страниц/блоков определенного уровня в разных зонах можно в /proc/buddyinfo - и, как пишут, отсутствие свободных областей большого размера - это и есть признак наличия фрагментации.UPD - пояснение к файлу /proc/buddyinfo Этот файл используется в основном для диагностики проблем фрагментации памяти. Используя алгоритм buddy, каждый столбец представляет количество страниц определенного порядка (определенного размера), доступных в любой момент времени - размеры по столбцам, начиная с 1-го, определяется как степень 2 - (2 ^0) * PAGE_SIZE фрагментов памяти, (2 ^1) * PAGE_SIZE и т.д. EDIT 1 - с параметром min_free_kbytes не игрался, не представился хороший случай, по дефолту он равен - vm.min_free_kbytes = 67584
Ошибки не исчезают с опытом - они просто умнеют
|
gentux |
|
Темы:
3
Сообщения:
119
Участник с: 15 января 2015
|
vasekИнтересненько. вывод в удобном виде |
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
А если просто очистить кеш: ?
|
vasek |
|
Темы:
47
Сообщения:
11881
Участник с: 17 февраля 2013
|
AivarПо идее это должно помочь и я обычно это частенько использую после закрытия тяжелых приложений. В подтверждение привожу ссылку из той же статьи
EDIT 1 - должно помогать в любом случае - дисковый кэш же размещается в зонах DMA32 и Normal. Или я не прав?
Ошибки не исчезают с опытом - они просто умнеют
|