Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> свободная память Linux-a, вопрос по работе ядра 
:(
    Опции темы
ssds
Дата 20.4.2005, 16:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Хотел бы спросить у того кто профессионально разбирается в ядре Линукса вопрос, который не дает покоя последнее время.
Вот вычитал: "В ядре 2.4 (и видимо 2.6 -мое примечание) исповедуется Сановский принцип: свободная память - потерянная память. Т.е. из вывода команды free: размер свободной памяти явлется суммой free+cached".
Сached - это память страничного кэша.
Рассмотрим ситуацию - программа работает с кучей файлов, постепенно открывая одни и закрывая другие, уже не нужные. Файлы засасываются в память, это как раз в страничный кэш. После закрытия файла - в кэше еще остаются страницы с этим файлом. Так вот можно ли считать что эти страницы не мешают дальнейшей работе?? Из утверждения про Сановский принцип по сути эти страницы -свободные, но ведь ядро выполнит какие то действия что бы использовать под другие задачи?
В ядре употребляется "reclaim pages" -типа очищения-восстановления страниц - вроде это связанно именно с теми действиями.
Имеет ли смысл "затачивая" ядро под упомянутую программу, ускорить каким либо образом очистку страничного кэша? (при большой нагрузке программы -памяти не хватает)

И еще, в файле /proc/meminfo помимо значения Сached есть Active и Inactive. Если прочитать большой файл и закрыть его, то его кэш останется -это видно по значеню Cached и в то же время параметр "Active" будет показывать что страницы оставшиеся от файла - в списке активных.
Вообще про этот параметр "Active" пишут что это есть память которая используется наиболее часто и будет очищена-восстановлена только при крайней необходимости.
Возвращаясь к моему вопросу -может стоит делать эти страницы неактивными- чтобы они быстреевосстанавливались..?
  Вверх
GrayCardinal
Дата 21.4.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 8
Всего: 58



Цитата
Так вот можно ли считать что эти страницы не мешают дальнейшей работе?

ИМХО, можно и нужно.

Цитата
но ведь ядро выполнит какие то действия что бы использовать под другие задачи?

Однозначно smile Проверку на занятость как минимум. Но на скорости работы это вообще не скажется. Никак.

Цитата
ускорить каким либо образом очистку страничного кэша? (при большой нагрузке программы -памяти не хватает)

"Памяти не хватает". Ошибка такая вылазит что-ли ? Если кэш большой, а размер свободной памяти 1-2 мб. Это обычная ситуация. Смысла, имхо не имеет. Хотя не знаю. Я для "чистки" пользовал bzero(malloc (100000000), 100000000); - результат очень не понравился. Жуткий тормоз (потом, после чистки уже)


--------------------
PM MAIL WWW   Вверх
Ni@m
Дата 3.5.2005, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: нет
Всего: 6



Принцип линуксового ядра - оставлять кєшированные файлы в памяти как можно дольше. Естественно, если память понадобится под процессы - она освободится. Но когда файл закеширован, в следующий раз к нему обратится будет гораздо быстрее.
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0871 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.