Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     05 Dec 2003  12:56:55
 To : Kirill Frolov
 Subject : Re: дефрагментация ex3
 -------------------------------------------------------------------------------- 
 
 Kirill Frolov wrote:
 
 > Hемедленно нажми на RESET, Aleksey Barabanov!
 > 
 > On Wed, 03 Dec 03 11:26:41 +0300, Aleksey Barabanov wrote:
 > 
 >  >>    Hа примере программ вроде XFree, Mozilla и т.п. прекрасно видно,
 >  >>    что
 >  >> при перезапуске и памяти меньше требуется, и работает быстрей...
 >  AB> А вы не путаете "утечку памяти" с простым ее кешированием. При
 >  перезапуске
 > 
 >    Кэшированием чего?  Кэшированием памяти в ОЗУ?  Гениально!
 
 ;)
 Запускаем мозиллу, смотрим на список отфорковки по ps xua | grep
 mozilla-bin, заглядываем на /proc/pid для последнего процесса.
 _Внимательно_ изучаем содержимое этой директории, особенно maps и status. 
 Далее проходим по нескольким страницам http и снова _внимательно_ изучаем
 что меняется. Делаем выводы. Это что на счет мозиллы и почему она так
 "по-разному" работает (или хреново работает ;).
 
 Теперь на счет кеширования памяти.
 
 Я думал вы просто заблуждаетесь. А вы просто нифига ничего не знаете или не
 хотите думать. Hу так для разминки прикиньте как можно при блоке памяти в
 4К выделить для процесса 1 байт. Где будет хранится информация о том что
 выделен только 1 байт в блоке на 4К а остальное свободно ? А если процесс
 освободит ранее запрошенный 1 байт из блока, то где будет проводится
 проверка, а нет ли еще выделенной памяти в том же блоке ? А если будет
 запрошена линеаризация группы выделенных сегментов, то как это организовать
 алгоритмически ? Да линукс внутри просто набит кешами и кешами кешей "под
 завязку".
 
 Теперь на счет "утечки". Если происходит выделение блоков памяти, а потом
 возврат, то не факт, что возвращенные блоки сразу поступают в общий доступ.
 Я не очень интересовался как это происходит конкретно у процессов. Меня
 больше это волновало в отношении ядра. Поэтому могу что-то исказить
 неумышленно, но если и там все происходит так же как и в ядре (slab.c) то
 после освобождения ранее запрошенного сегмента памяти он просто
 возвращается в кеш с пометкой "свободен". Подробно для системных структур
 см. /proc/slabinfo. Мне несколько лениво копать из-за одного несведующего
 чайника тексты ядра, но при беглом просмотре там обнаруживаются теже
 элементы управления что и в slab. Структура mm_struct имеет такие же
 атомарные счетчики использования что и другие ядерные кэши.
 
 Теперь снова на счет "утечки". Если бы этот процесс на самом деле имел место
 быть в реалии, а не только в воспаленном сознании Kirill Frolov, то у
 линуксовых серверов был бы аптайм такой же как и у мастдаев - 1 неделя ;) А
 у меня линуксовые файловые сервера работают неболее полугода только потому,
 что ups иногда не справляются ;)
 -- 
 Bye.
 Aleksey Barabanov <alekseybb at mail.ru>
 
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.1
  * Origin: home (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: дефрагментация ex3   Aleksey Barabanov   05 Dec 2003 12:56:55 
Архивное /ru.linux/78242d5d9b56.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional