PDA

Показать полную графическую версию : Размер swap-файла


Страниц : [1] 2

TEHb
03-03-2003, 11:44
откуда взялась такая ф-ла? Swap=RAM это я еще понимаю (когда дамп памяти делаешь), но двойной размер-то зачем?
И является ли ф-ла верной при всех возможных значениях RAM? Вот у меня, к примеру, 512М мозгов, так мне что 1Г под своп выделять?!

Barracuda
03-03-2003, 12:33
TEHb
Имхо вообще можно не делать - на ваше усмотрение. Просто это устоявшийся принцип, или даже правило. А правила существуют, что их нарушать. :)
Я дома для Линукса вообще своп не делал (256М рамы) - ничего, не жалюется.

ruslandh
13-04-2003, 09:09
TEHb
В классическом виде Формула полность звучит так  :

RAM <=32 МБ ->SWAP = 2*RAM
=>64 МБ ->  SWAP=1* RAM
=>512 MБ = SWAP=0

Все остарьные участки - решаются "спрямлением" функции исходя из того насколько критично зависание системы.

При маленько объеме ОЗУ реальная потребность превосходит физический объем в 3 раза

Т.е. допустим имеем, что для нормальной работы Linux требуется, допустим 100 МБ виртуальной памяти ОЗУ (я реально проверял - цифра именно такого порядка),
- тогда при физическом объеме RAM = 32 мб - требуется еще ~ 68 мб ОЗУ,
- при 64 мб - 32 мб, но тут мы уже можем предусмотреть небольщой запас - вот вам 64 мб SWAP,
- при 132 мб - у нас уже есть запас в 32 мб - нам памяти достаточно - тут уже надо смотреть сколько требуется виртуальной памяти при максимальной загрузке - возможно выделить, допустим ~ 68 мб (если максимальная нагрузка предпологается в 200мб).
- при 512 мб - у нас уже 412 мб запаса, и даже при трехкратном увеличении потребности в в виртуальной памяти еще остается 112 мб свободными.

Единственное НО - при увеличении физического ОЗУ пользователь сам увеличивает потребность в виртуальной памяти, так-как запускает большее число задач (раньше ему мешала медленность обращения к SWAP, а при 512 мб он этого не чувствует и запускает новые задачи) так, что возможно лучше оставить небольшой SWAP в размере порядка  четверти физического объема OЗУ (для 512 мб - это порядка 128 мб SWAP).

 

Sinbad
30-05-2003, 14:51
Я так понимаю, что уже при наличии ОЗУ 128мб имеет смысл делать своп 1:1, дабы система при возможном крахе могла скинуть дамп всей памяти в своп, иначе при меньшем свопе может произойти разрушение файловой системы. (Субъективно).

:wink:

Исправлено: Sinbad, 15:55 30-05-2003

Barracuda
31-05-2003, 02:13
Sinbad
Вы прям книжку цитируете :)

ruslandh
31-05-2003, 02:26
Sinbad
При крахе системы скинуть она скорей всего ничего уже не сможет ни в swap ни в core

Barracuda
31-05-2003, 02:50
ruslandh
есть пара истер еггов во Фре, которые позволяют сбрасывать содержимое памяти в своп.

Sinbad
31-05-2003, 11:55
Barracuda

Вы прям книжку цитируете

А, что делать-то остается, приходится перелопачивать их килотоннами, иначе шиш когда разберешся. Да и вообще все что человечеству известно где-то, когда-то и кем-то было написано.
:smirk:

Barracuda
31-05-2003, 21:42
Sinbad
приходится перелопачивать их килотоннами
Верной дорогой идёте, товарищ! :)

Guest
29-08-2003, 04:14
Бред, все эти ваши "новые" формулы!!!
По-вашему выходит советы написанные в хандбуке даны специально для того чтобы лишить вас дополнительного дискового простраства на ваших компах?! И хандбук идиоты получается написали, которые не учли "новые" формулы выделения простраства под диск?!

TEHb:
Малограмотным специалистам в подобных конференциях ты поверишь больше, чем инженерам FreeBSD?! А они ведь довольно не плохо постарались, чтобы пользователи делали меньше ошибок и написали для этого FreeBSD Handbook!

Читать хандбук, и тогда станет понятно, что удвоеный размер свопа рекомендован, для получения максимальной отдачии от реализации алгоритмов VM paging. В противном случае можно потерять в производительности системы.
См. http://documents.dhs.net.ru/ru_RU.KOI8-R/books/handbook/configtuning-initial.html#AEN4070

Barracuda
29-08-2003, 04:39
Guest 195.161.236.*
Ну, во первых, как понимать Малограмотным специалистам в подобных конференциях
Я не сказал бы, что малограмотен и читать Хэндбук умею.
Во-вторых, то, что он в определённой конфигурации может сбросить в раздел подкачки дамп памяти (а если своп меньше размера памяти, то следующему за свопом разделу кранты прийдут).
А как, по вашему, выходить из ситуации, когда памяти 512 метров а на Фрю отводится 2 гектара всего? Д

Guest
29-08-2003, 06:16
Barracuda:
1. Что за глупая конфигурация такая - 512 MB и 2 ГБ диск? Если это рутер или небольшой веб сервер под столом, то ему нафиг не надо столько памяти. Если это НАГРУЖЕНАЯ машина, то без свопа теряем в производительности в такой конфигурации, даже с таким объемом памяти. Надо думать об увеличении дискового пространства или о размещении свопа в RAM.

Что бы получить нормальную отдачу от реализации VM (сбалансировать ее) в такой конфигурации RAM 512МБ + HDD 2ГБ,  рекомендую к прочтению man vnconfig для 4.x или man mdconfig для 5.x, если так ЖАЛКО дискового пространства, отдавай под своп RAM! Но это глупо, зачем тратить на своп RAM, когда прощее добавить свопа на диске. Логично?

Ну алгоритм такой, чего поделаешь!

Цитата:
"Заниженный размер раздела подкачки может привести к неэффективной работе постраничного сканирования VM и вызвать ПОНИЖЕНИЕ производительности при ДАЛЬНЕЙШЕМ УВЕЛИЧЕНИИ ОБЪЕМА ПАМЯТИ".

2. > Я дома для Линукса вообще своп не делал (256М рамы) - ничего, не жалюется.
Считаю, что если ты оставил свой линукс без свопа, то ты действительно плохо разбираешься в данном вопросе. Учитывая то, что реализая VM management в Linux намного слабее реализации FreeBSD, это двойная ошибка. То есть хорошо нагрузив свой линукс дома, ты потеряешь в производительности.

Цитата:
"Не рекомендуется устанавливать размер раздела подкачки меньше 256 мегабайт.",
т. е. имеется ввиду в любой конфигурации. Во времена FreeBSD 2.x и 3.x, эта цифра была скоромнее, но ведь ядра то сейчас другие и реализоаны они по другому.

3. Раз прочитал хандбук и ничего не понял про формулу свопа RAM*2, выходит ты действительно считаешь, что в хандбуке ересь написана? Инженеры FreeBSD, по-твоему видимо, лажу всякую пишут?

P. S.
Просто разговарил я с такими которые напробуются, настроят все как попало наслушавшись подобного рода советов, например о "новых" формулах выделения под своп, а потом орут юникс тормознее W2K, и KDE на P-III 1GHz&RAM 512МБ у них мол грузится два раза дольше винды. Мозилла мол тормозила. Может и она и тормозила, но не тормознее IE в хороших руках.

А документацию кто-нибудь из таких пробал читать? Про тюниг (системы и ядра)? Про оптимизацию во время компилирования? Про распредление дискового пространства?

Barracuda
29-08-2003, 07:04
Guest
То есть хорошо нагрузив свой линукс дома, ты потеряешь в производительности.
А мне производительность дома и не нужна. Дома я тесты разные гоняю на запускаемость и т.п., т.е нагрузки никакой нет.
Тем более, что На моём Атлоне всё гораздо шустрее летает и потери производительности в подсистеме памяти меня ну никак не смущают. Зато критично дисковое пространство.
Тут у меня своп в четыре раза больше основной памяти (256 против 64). Хотя казалось бы, выделить всего 128 и хорош. Дык нет - сервер. Тут всё по-серьёзнее будет.
Так что не будем путать хрен с пальцем и сопоставлять задачи домашнего, сугубо мирного использования системы и аггресивного серверного. Так может мне для для работы с Офисом домой взять сказёвые винты? У них то производительность выше.
Инженеры FreeBSD, по-твоему видимо, лажу всякую пишут?
Ну чего заладили - ничего больше не знаем другого? А про то, сколько надо разработчиков FreeBSD, чтоб закрутить одну лампочку, читали? Шутка? В каждой шутке есть доля шутки, как известно.
Просто разговарил я с такими которые напробуются
Ну и пусть себе говорят! Робин Гудом OpenSource или FreeBSD решили сделаться? Не выйдет. Даже если и выйдет, то смысла в этом нет - куча потраченных времени и нервов. И всё равно никому ничего не докажете. Умный проспится и поймёт, что где-то накуралесил в настройках или чего-то недочитал. Дурак - никогда.
А документацию кто-нибудь из таких пробал читать? Про тюниг (системы и ядра)? Про оптимизацию во время компилирования? Про распредление дискового пространства?
Может ещё начнём меня учить, на какие разделы лучше разбивать систему? А книжки по психологии не пытались читать? Или по менеджменту?

Guest
29-08-2003, 07:31
Флэйм!

Barracuda
29-08-2003, 09:09
Guest
Неужели? Только заметили?

Guest
29-08-2003, 10:02
Barracuda:
Ну флэймить, так флэймить... :)

Ты модератор этого раздела и начал флэйм. Раз модератор начал флэйм, значит он дал на него добро? Смотрим в твоем сообщения фразы: менеджемент, психология, сказевые диски, Робин Гуд и т. п., в них нет ни одной вещи связанной вопросом почему swap=2*RAM. Правильно?

В обще-то эта тема о том почему swap=RAM*2, а не про защитников OpenSource, Робин Гудов или чего ты там еще написал ОБИДЕВШИСЬ, что тебя назвали малограмотным. Если посмотреть твои посты в этом топике, так оно на мой взгляд и есть, а учитывая твой предыдущий полностью флэймовый пост я в этом просто уверен.

Ни каких доводов, одни твои обиды и амбиции. В отличии от моих слов подкрепленых документацией. Ну и делай ты сам как хочешь, твоя правда, можешь купить себе 2ГБ RAM и HDD метров на 200, наслаждаться испытаниями дома в такой конфигурации. Зачем только людей в заблуждение в водить, если сам толком нифига не знаешь?

TEHb где-то в своем посте указал, что он использует машину в домашних условиях? По-моему он ПРОСТО спросил почему swap=RAM*2? И если ты не знаешь ответа, на этот вопрос, то какой смысл рассказывать о том, как это сделано у ТЕБЯ ДОМА?

Ни одного нормального ответа, разъясняющего почему, в том числе и от тебя, я в этом топике не увидел, почему же swap=RAM*2. Я дал ответ почему рекомендовано делать своп в два раз больше чем RAM, и подкрепил его словами из документаци.

На что ты обиделся мне честно говоря не понятно. За-то что тебе указали на твою ошибку? Или это психология? Ты не знал раньше почему так и делал по своему, а теперь тебе сложно признать, что ты где-то ошибался?

Barracuda
29-08-2003, 10:57
Я дал ответ почему рекомендовано делать своп в два раз больше чем RAM, и подкрепил его словами из документаци.
Ну и почему же? Слово "рекомендуется" и "нежелательно", а так же ссылки на голое обяснение меня ну никак не устраивают. Я бы понял, если бы это Микрософт документ составлял. Понимаю, что хэндбук, ну тогда нечего им козырять. Если в доке по установке HP-UX было сказано, что REQUIRED at least doubled - базара нет. А когда RECOMENDED - извольте, можно и проверить за одно, как это скажется на производительности.
А то, что своп должен быть больше рамы в два раза (по крайней мере - не меньше), это я ещё с Interactive Unix System V знал(ставил в 95-ом году с дискет ещё). Так что не будем тыкать, кто чего не знал. Этот принцип давно действует практически на всех ответвлениях System V и Berkly. И это В ЛЮБОЙ доке по Линуксу написано. Но вот не все готовы сподобиться объяснить - почему.
Так что давай не будем уподобляться господам с Хобота(а они любят знаниями померяться). Каждый по своему ошибся.

Guest
29-08-2003, 12:05
Ну и почему же? Слово "рекомендуется" и "нежелательно", а так же ссылки на голое обяснение меня ну никак не устраивают.

;) Перечитай еще РАЗ в хандбуке, если до тебя не доходит почему swap=2*RAM.  ;) Если до сих пор не дошло почему же, то еще раз. И так до тех пор пока не дойдет. Для более детальных разборов можешь глядеть алгоритмы рализации VM в дереве исходных текстов. Это никто не запрещает.

С предложениями по улучшению VM, после тщательного изучения src, пожалуйста к Matthew Dillon, это его детище и он знает об этом все и думаю хорошие идеи примет на вооружение и может в следующих релизах мы увидим модель VM которой плевать на своп, кто знает. ;)

Кстати, man 7 tuning именно он написал. И я склонен верить тому кто РАЗРАБОТАЛ эту самую модель VM и написал рекомендации для нее в мануале.

В этом же самом man 7 tuning Matthew Dillon пишет:
"I usually create, in order, a 128M root, 1G swap, 128M /var, 128M /var/tmp, 3G /usr, and use any remaining space for /home."

Наверное своп размером 1ГБ он делает, чтобы обмануть других, и заманить больше людей в общество свополюбителей. Как думаешь? ;)

А не верить разработчику VM и говорить, что у меня мол и так все работает, это решает каждый сам для себя, в результате каждый и получает, то что настраивал.

Barracuda
29-08-2003, 14:10
Ну и кто из нас более эмоционален? Из всего вашего поста одна значимая фраза.
Для более детальных разборов можешь глядеть алгоритмы рализации VM в дереве исходных текстов.
Кстати, если быть до конца буквоедом то алгоритма там нет - там реализация алгоритма.
Вот и посмотрим.
это решает каждый сам для себя, в результате каждый и получает, то что настраивал.
Золотые слова. Ну хоть до чего-то мы договорились. :)
JОч жаль, что мои посты невнимательно читаем. Ладно, я в этой дискусси участия больше не принимаю - хватит, и так уже слабинку дал.

shs
29-08-2003, 18:52
Как не крути а Гость прав.
Для понимания формулы SWAP==RAM нужно почитать хендбук и/или посмотреть исходники ядра.
Все внутренние таблицы ядра, используемые для работы с памятью, строятся на основании количества RAM в системе. Соответсвенно рекомендация по размеру SWAP происходит из реализации внутренних механизмов управления VM и здравого рассудка :).




© OSzone.net 2001-2012