Что то много восхищений читал как управно фря усправляется с памятью, какие молодцы сидят в беркли и вообще линукс сосет. И вот что я вижу на одном своем сервере.Mem: 95M Active, 1550M Inact, 289M Wired, 69M Cache, 112M Buf, 3000K Free
При этом gstat показывает 60% нагрузку на винчестер-чтение.
В памяти все процессы занимают от силы 200 метров.
Внимание, вопрос. Почему внушительный объем свободной памяти (1.5 гига) курит и не используется под дисковый кеш?
Ибо подобное я наблюдаю на линуксах с последними версиями ядра: вся свободная память откидывается под дисковый кеш. И чем больше поставишь памяти, тем меньше будет нагружен винчестер.
ЗЫ: я приверженец фри вообще. но чето вот это все меня расстраивает, когда смотрю на то, как гента использует память по сравнению с фрей.
>Что то много восхищений читал как управно фря усправляется с памятью, какие
>молодцы сидят в беркли и вообще линукс сосет. И вот что
>я вижу на одном своем сервере.
>
>Mem: 95M Active, 1550M Inact, 289M Wired, 69M Cache, 112M Buf, 3000K
>Free
>
>При этом gstat показывает 60% нагрузку на винчестер-чтение.Слишком много операций ввода-вывода.
>Слишком много операций ввода-вывода.А что это значит? Грязные страницы не успеваются чиститься?
>>Слишком много операций ввода-вывода.
>
>А что это значит? Грязные страницы не успеваются чиститься?Дисковая подсистема слабая.
>Дисковая подсистема слабая.кгмм. я почему то думаю что не такая уж она и слабая....
da0: <ATA WDC WD1600JS-75N 2E04> Fixed Direct Access SCSI-5 device. 300.000MB/s transfers
da1: <ATA WDC WD1600JS-75N 2E04> Fixed Direct Access SCSI-5 device. 300.000MB/s transfersИ все это дело еще объединено в софтварный RAID - 1 с распараллеливанием.
GEOM_MIRROR: Device gm0 created (id=2167061280).
GEOM_MIRROR: Device gm0: provider da0 detected.
GEOM_MIRROR: Device gm0: provider da1 detected.
GEOM_MIRROR: Device gm0: provider da1 activated.
GEOM_MIRROR: Device gm0: provider da0 activated.
GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.Но вопрос не в том. Вопрос, почему дисковый кеш почти отсутствует...
>
>Но вопрос не в том. Вопрос, почему дисковый кеш почти отсутствует...http://citforum.ru/operating_systems/freebsd/faq/misc.shtml#...
http://citforum.ru/operating_systems/freebsd/faq/misc.shtml#...
>http://citforum.ru/operating_systems/freebsd/faq/misc.shtml#...
>http://citforum.ru/operating_systems/freebsd/faq/misc.shtml#..."Значения, показываемые утилитой top(1), помеченные как Inact, Cache и Buf - это всё кэшированные данные разных степеней устаревания."
Если афтар хочет сказать что в состоянии Inact находятся страницы памяти, используемые под кеш, то по моему это не так:
http://www.freebsd.org/doc/ru/books/faq/book.html#TOP-MEMORY...
Недавно была подобная тема: http://forum.sysadmins.ru/26/153450/?start=0
Короче как я понял, за память отвечает некий vmdaemon. Как не рылся, не нашел как затюнить его поведение.Насколько я понимаю, надо его заставить чаще чистить страницы Inact? Или просто больше памяти под кеш выделять...
Черт подери, вы читали ссылку, которую я вам давал? Русским языком же написано:...принцип работы менеджера памяти во фре упрощённо формулируется так: свободной можно считать память Inactive + Cache + Free. точка.
Важно:переброс памяти во free никакой реальной пользы не даёт, а только ухудшает работу, очищая кэш диска и вызывая в ближайшем будущем более интенсивную работу диска.
Черт подери, а вы читаете о чем я пишу вообще?Мне НЕ НАДО перекидывать память в Free. Мне НАДО перекидывать ее в CACHE.
Командой systat -vm я наблюдаю в состоянии CACHE находится около 100М памяти. Оно довольно быстро доходит до 60М, после этого просыпается pdwake и оно опять увеличивается до 100М.
Следовательно по событию pdwake, происходит перекочевание памяти Inact в Cache (ну наверно не только в Cache). Следовательно, просыпается какая-то хрень, которая чистит память и отдает ее кусок кешу. Как заставить эту хрень почаще просыпаться?
>Командой systat -vm я наблюдаю в состоянии CACHE находится около 100М памяти.
>Оно довольно быстро доходит до 60М, после этого просыпается pdwake и
>оно опять увеличивается до 100М.
>
>Следовательно по событию pdwake, происходит перекочевание памяти Inact в Cache (ну наверно
>не только в Cache). Следовательно, просыпается какая-то хрень, которая чистит память
>и отдает ее кусок кешу. Как заставить эту хрень почаще просыпаться?
>
Спросите себя: "НаФиГа?"
Вся система построена так, чтобы ОПТИМАЛЬНО использовать ресурсы. Не думаю, что вы умней разработчиков.
>Спросите себя: "НаФиГа?"
>Вся система построена так, чтобы ОПТИМАЛЬНО использовать ресурсы. Не думаю, что вы
>умней разработчиков.По тому что я вижу что не совсем оптимально.
Я не верю что система отдала два гига под кеш и РЕЙД 1 из двух скази винтов нагружен на 40 - 80% на чтение.
Значит она отадала не всю память под кеш и ей лень разгребать страницы памяти.
А если она отдала не всю память под кеш, то разве это поведение есть оптимальное?
Умней ли я разработчиков - вы так говорите типа они там боги. Они такие же программисты как и все мы. Они простые люди, следовательно могут существовать другие люди умнее их.
Я не утверждаю что они не умны. Просто система под большой РЕАЛЬНОЙ нагрузкой начинает себя вести неадкватно с памятью. Вероятно, таких условий эксплуатации кто-то не предусмотрел или я что-то не настроил, что и пытаюсь выяснить.
>Умней ли я разработчиков - вы так говорите типа они там боги.
>Они такие же программисты как и все мы. Они простые люди,
>следовательно могут существовать другие люди умнее их.
>
>Я не утверждаю что они не умны. Просто система под большой РЕАЛЬНОЙ
>нагрузкой начинает себя вести неадкватно с памятью. Вероятно, таких условий эксплуатации
>кто-то не предусмотрел или я что-то не настроил, что и пытаюсь
>выяснить.
Так что Вам мешает открыть дискуссию с разработчиками на эту тему?
>Так что Вам мешает открыть дискуссию с разработчиками на эту тему?Я не думал что вопрос настолько сложный. Обязательно открою.