ssds
Зарегистрирован: 20.04.2005 Сообщения: 1
|
Добавлено: Ср Апр 20 2005 16:58 Заголовок сообщения: свободная память Linux-a |
|
|
Хотел бы спросить у того кто профессионально разбирается в ядре Линукса вопрос, который не дает покоя последнее время.
Вот вычитал: "В ядре 2.4 (и видимо 2.6 -мое примечание) исповедуется Сановский принцип: свободная память - потерянная память. Т.е. из вывода команды free: размер свободной памяти явлется суммой free+cached".
Сached - это память страничного кэша.
Рассмотрим ситуацию - программа работает с кучей файлов, постепенно открывая одни и закрывая другие, уже не нужные. Файлы засасываются в память, это как раз в страничный кэш. После закрытия файла - в кэше еще остаются страницы с этим файлом. Так вот можно ли считать что эти страницы не мешают дальнейшей работе?? Из утверждения про Сановский принцип по сути эти cтраницы -свободные,но ведь ядро выполнит какие то действия что бы использовать под другие задачи?
В ядре употребляется "reclaim pages" -типа очищения-восстановления страниц - вроде это связанно именно с теми действиями.
Имеет ли смысл "затачивая" ядро под упомянутую программу, ускорить каким либо образом очистку страничного кэша? (при большой нагрузке программы -памяти не хватает)
И еще, в файле /proc/meminfo помимо значения Сached есть Active и Inactive. Если прочитать большой файл и закрыть его, то его кэш останется -это видно по значеню Cached и в то же время параметр
"Active" будет показывать что страницы оставшиеся от файла - в списке активных.
Вообще про этот параметр "Active" пишут что это есть память которая используется наиболее часто и будет очищена-восстановлена только при крайней необходимости. Возвращаясь к моему вопросу -может стоит делать эти страницы неактивными- чтобы они быстрее восстанавливались..? |
|