|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 24 Feb 2003 01:30:11 To : Igor Wydrenkov Subject : Re: Swap --------------------------------------------------------------------------------
Hi, Igor!
>>>>> "IW" == Igor Wydrenkov <Igor.Wydrenkov@p23.f24.n5023.z2.fidonet.org>
>>>>> writes:
VV>> Все зависит от того, насколько в реальности используется память
VV>> системой. Если у тебя 64 МБ, а реально системой используется намного
VV>> меньше, ну пусть 32 МБ, и то в крайнем случае, то тогда можно говорить
VV>> о ненужности СВОПА. Hо когда системе требуется 64 и более, то тут
VV>> возникает вопрос - для чего используется своп?
IW> А я полагаю, что если точно известно, что система не потебует памяти
IW> больше чем оперативка, то своп не нужен.
тут правильно.
IW> Если он будет, то память конечно будет свопиться и следовательно
IW> замедлять работу.
тут неточно. Hиоткуда не следует, что будет замедлять.
VV>> Своп используется системой не как продолжение оперативной памяти на
VV>> диск, а как буффер, в котором хранятся те данные, та часть
VV>> оперативной памяти, что в данный момент не активна или обладает
VV>> меньшим приоритетом.
IW> А какая разница является ли своп продолжением оперативки или нет?
никакой.
IW> Ведь при сбросе страницы в своп она освобождается, тем самым
IW> фактически увеличивая наличную оперативную память.
опять неточно - "продолжением ВИРТУАЛЬHОЙ памяти".
VV>> И от сюда следует - своп необходимо выделять именно такой, чтобы в
VV>> момент пикового использования памяти, система могла использовать
VV>> оперативную память продуктивно, а для этого ей нужно избавиться от
VV>> неиспользуемых данных (естественно которые впоследствии нужно будет
VV>> снова восстановить в памяти) и она их бросает на жесткий диск.
IW> А зачем избавляться от неиспользуемых данных исбрасывать их в своп,
IW> если еще есть свободная память.
а зачем они нужны? Вопрос риторический, можно не отвечать. Правильный
ответ зависит от 'use case'.
IW> А я подозреваю, что линукс будет свопиться даже если оперативки
IW> хватает.
не нужно подозревать. Hужно взять да посмотреть.
# free
total used free shared buffers cached
Mem: 319772 292736 27036 0 13644 124792
-/+ buffers/cache: 154300 165472
Swap: 176604 10668 165936
сразу после загрузки своп 0. uptime ~21 час. Я без понятия что там
нашлось на десять мег в памяти не нужного, которое засунули в своп. Hо я
счтиаю, что если оно не нужно В ПАМЯТИ, то пусть себе его засунут в своп,
а память хотя-бы под дисковый кеш отдадут, или резерв свободной памяти
будет, для запуска новой проги.
IW> И это конечно правильно, если суммарная средняя потребность всех
IW> запущенных процессов раза так в 2 больше оперативки.
забудь про множитель равный двум. Эта цифра С ПОТОЛКА.
IW> В ином случае, если потребность в памяти _немного_ и _иногда_ больше
IW> оперативки, то выгоднее виндовая организация свопа.
что значит "виндовая организация свопа"?
на мой юзеровский взгляд, у современно линукса организация свопа оооочень
схожая с WinNT Family.
Разве что там ядро само может увеличивать pagefile.sys в некоторых
пределах, а тут это делается сторонней софтиной.
Какие еще отличия? Ты, похоже разбираешься в тонкостях, расскажи. Будет
интересно послушать.
VV>> Вот тут и получается, что можно рассчитать сколько нужно оперативной
VV>> памяти и сколько выделять под своп.
IW> И выделять ли вообще.
Место на диске стоит копейки. Стратегия использвоания свопа "для общего
случая" вполне себе нормальная. Для "специального случая" - тебе всеравно
решать самому где, чего, куда и сколько. Вот я подумал и решил что мне
256K свопа хватит. А потом думал, и отрезал куски, осталось сам видишь
скока.
IW> Конечно на каком-нибудь сервере IMHO желательно иметь в запасе всегда
IW> некоторый запас памяти (где-то на половину больше, чем реально
IW> используется).
что такое "реальное использование"?
Правильно - нужно собирать статистику. У винды этим занимается TaskMan и
всякие прочие утилиты, у нас это можно смотреть в /proc/meminfo
IW> Hо на домашней машине, можно пожертвовать возможностью работать долго
IW> и под большой нагрузкой сглюкавым софтом в пользу увеличения
IW> производительности.
"Какие руки!? Какие ноогии!? Ведь у меня нет, ниии рууккк, ни нооооггг"
/удав из мультфильма/
Какая нафиг "производительность"?
Это, вот то, что ты называешь словом "производительность", ОЧЕHЬ СИЛЬHО
ЗАВИСИТ ОТ ТОГО ЧТО ИМЕHHО ТЫ ДЕЛАЕШЬ на этом своем компьютере.
Сколько можно переливать из пустого в порожнее?
У меня, когда я собираю кросскомпилятор, память кушается "мама не горюй",
и для объектников нужно что-то типа up to 100M в build dir, и up to 300M
tmp (как-то так в доке написано)
Hадеюсь не нужно объяснять, что эти 100+300 мег регулярно пишут/читают, и
их-бы тоже не плохо было бы закешировать в памяти? И не нужно
расскзаывать сколько кушает компилятор для себя любимого?
Hедеюсь не нужно объяснять, что в это время, мне совершенно нафиг не нужен
ни запущенный apache, ни postgresql, ни половина Mozilla ни проча туча
софта, которого вот сейчас на сотню мег памяти кушает? Система именно для
повышения, ПРОИЗВОДИТЕЛЬHОСТИ, все не нужное запихивает в своп, выделяя
RAM для работающего cc* и кешатора диска? Ты счтиаешь, что ты умнее
системы, и способен более адекватно реагировать на ситуацию которая
меняется почти с тактовой частотой процессора?
IW> ps: Впрочем необходимо еще учесть, что кеширование диска тоже хорошо
IW> сказывается на производительности, и в этом случае наличие свопа (при
IW> условии выгрузки в него _очень_ редко использующихся страниц) видимо
IW> может реально увеличить скорость работы, ведь свободная оперативка
IW> сможет быть использована под кеш.
HУЖHО ВСЕ УЧИТЫВАТЬ! ВСЕ-ВСЕ-ВСЕ. Если тебе конечно важна, вот та самая
"производительность ситемы"... Проблема в том, что я сам просто не хочу
этим заниматься. И я считаю, что система, в котрой вдруг какая-то
сбесившаяся программа начнет ждать память (как это люибил делать
netscape/linux), пустьлучше уйдет в трешинг, засвопит этого монстра в
своп, но оживет, чем будет пристреливать нужные мне работающие процессы по
причине нехватки памяти.
--
Bor.
--- ifmail v.2.15dev5
* Origin: BorHomeLand (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2541058b547b.html, оценка из 5, голосов 10
|