URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 3772
[ Назад ]

Исходное сообщение
"OpenNews: Споры по поводу раздела подкачки"

Отправлено opennews , 30-Май-04 23:31 
В списке рассылки linux-kernel (http://groups.google.com/groups?group=linux.kernel) тема оптимизации стратегии своппинга в Linux (http://www.opennet.me/opennews/art.shtml?num=3778) перешла к обсуждению вопроса  "нужен ли раздел подкачки вообще, когда размера ОЗУ достаточно".

URL: http://kerneltrap.org/node/view/3202
Новость: http://www.opennet.me/opennews/art.shtml?num=3926


Содержание

Сообщения в этом обсуждении
"Споры по поводу раздела подкачки"
Отправлено Andrew , 30-Май-04 23:31 
Ну да, конечно... Вопрос в студию (а также авторам подобных идей): почему всегда рекомендуют делать раздел подкачки в два раза больше, чем ОЗУ?

"Споры по поводу раздела подкачки"
Отправлено Insane , 31-Май-04 02:14 
Попробуй открыть тифак метров эдак под 300-400 в
гимпе..Да или хотя-бы локальным сендмейлом мессагу
кому-нибудь отправь сильно жирную...
ИМХО своп можно убирать (да и то с опаской)
когда в машине не меньше 2х гектаров ОЗУ, а на
машинах работающих с графикой вообще убирать
нельзя, если нет желания наблюдать тот-же гимп
или майю упавшими после 12 часовой работы
с ошибкой типа could`t allocate тырым пырым()...

"Споры по поводу раздела подкачки"
Отправлено Norguhtar , 31-Май-04 07:37 
Из веселого... У gimp'а своя подкачка =)

"Споры по поводу раздела подкачки"
Отправлено Insane , 31-Май-04 08:38 
Своп он (точнее менеджер памяти) юзает, факт !!!

"Споры по поводу раздела подкачки"
Отправлено Lamr , 31-Май-04 11:14 
By the way, я попытался открыть KView фото из далёкого космоса (tiff 100Mb), так мне не хватило и двойного свопа, 256 метров размером. Интересно, почему? Я теперь на всяк случай буду резервировать гиг.

"Споры по поводу раздела подкачки"
Отправлено Lamr , 31-Май-04 11:18 
> нужен ли раздел подкачки вообще, когда размера ОЗУ достаточно

идиотская дисскуссия. На роутере я просто включаю в ядро options NO_SWAPPING, и не парю занятым людям мозги.

Извиняюсь, у меня FreeBSD, про линух не знаю
Best Regards


"Споры по поводу раздела подкачки"
Отправлено Lamr , 31-Май-04 11:26 
И ещё.
Если ети хэкеры своп уберут, им придётся для форс-мажорных ситуаций прикрутить к линуху виндоус-like механизм, прикручивающий его динамически. Как винда, типа "файла свопа мало, хочещь-нехочешь, я его сделаю сама знаю какого размера, и размещу Бил Гейс знает где, нюхай у пъяного бегемота, юзер недоделанный"
  Это очень надо?

"Споры по поводу раздела подкачки"
Отправлено Sgt.Pepper , 03-Июн-04 15:36 
> И ещё.
> Если ети хэкеры своп уберут, им придётся для форс-мажорных ситуаций прикрутить к
> линуху виндоус-like механизм, прикручивающий его динамически. Как винда, типа
> "файла свопа мало, хочещь-нехочешь, я его сделаю сама знаю какого размера, и
> размещу Бил Гейс знает где, нюхай у пъяного бегемота, юзер недоделанный"
>  Это очень надо?
Pochemu by togda ne nazvat, f.e, Solaris windows-like ? Ya vydelil swap, mne ego ne hvatilo, ya sozal file, i dobavil ego k swap area.
Ili ne sdelal swap voobshe, i kogda on vse zhe ponadobilsya, sdelal file i swap zarabotal.
A esli ya sdelal script, kotoryi proveryaet, hvataet li sisteme pamyati, i esli net - to sozdaet file dlya swap i dobavlyaet ego k swap space ?
Eto vse tozhe windows-like ?

Chem ploh mehanizm dya dinamicheskogo vydeleniya swap space pri nedostatochnom razmere pamyati ? Esli vy smozhete ego kontrolirovat (a v UNIX-sistemah eto prakticheski vsegda tak), to on tolko polezen.


"Споры по поводу раздела подкачки"
Отправлено Mr.Uef , 31-Май-04 12:04 
Н-да, маразм крепчал.
Своп отключать предлагается не на машинах, где работают с графикой, а на маршрутизаторах да на встраеваемой технике. Не будешь же свопить на флэшку в 128М? Там по-любому делают swapoff. Так вот речь идет прежде всего о том, чтоб иметь возможность выкинуть из ядра ненужный код в первую очередь именно для таких случаев.

"Споры по поводу раздела подкачки"
Отправлено eNemo , 31-Май-04 13:21 
надо - включаем, не надо - не включаем. не хочется лишний код за собой таскать - так насколько я помню в последних опциях его выключить можно...
главное - возможность, а пользоваться ей, или нет - личное дело каждого.

"Споры по поводу раздела подкачки"
Отправлено Дмитрий Ю. Карпов , 31-Май-04 16:51 
Делать swap  в два раза больше RAM рекомендуют потому, что делать больше нет смысла - производительность упадёт ниже некуда.

А как можно убрать из ядра код, занимающийся свопингом, если даже при отсутствии swap-раздела исполняемый код всё равно будет подкачиваться из запущенных файлов, да и технология мапирования файлов в память использует механизм свопинга?


"Споры по поводу раздела подкачки"
Отправлено Sgt.Pepper , 01-Июн-04 09:01 
swap = 2*ram ne potomu, chto bolshe net smysla.
A vsego lish potomu, chto pri kak minimum v dva raza bolshem swape paging bolee ili menee effektivno rabotaet. Kak minimum dlya old BSD i SVR3, a dalshe sovet ostalsya. Mozhno posmotret v sovremennyh open-source systems code dlya paging'a, dlya teh, kto osobo lubopyten - sravnit s BSD4.3 skazhem.

PS: Izvinite za translit :-(


"Споры по поводу раздела подкачки"
Отправлено Дмитрий Ю. Карпов , 02-Июн-04 18:40 
> pri kak minimum v dva raza bolshem swape paging bolee ili menee effektivno rabotaet.

Насколько я понимаю, в swap выпихиваются только данные или изменённый код - статический код и RO данные подкачиваются из запускаемых и библиотечных файлов. Но механизм-то тут практически один и тот же - различия только в операции выделения места в swap-области (впрочем, за одно это стОит побороться).

Объём свапа слежует расчитавать из объёма данных, которые создаются в памяти и долго не используются - например, у демонов, которые долго ждут соединения (да тот же самый Squid); или у user-end программ, если юзер имеет привычку долго курить. В этом случае более эффективным будет вытеснить данные в swap, а освободившуюся RAM испоьзовать под кэширование файлов и под код активно работающих программ.

Но почему именно "два объёма RAM" - не понимаю.


"Споры по поводу раздела подкачки"
Отправлено Sgt.Pepper , 01-Июн-04 09:06 
2Dmitry Karpov
swapping iznachalno - eto ne to, o chem vy govorite. Swapping - eto polnoe peremeshenie oblasti processa na disk, tak bylo sdelano v staryh OS, v tom chisle i pervyh versiyah UNIX, uzhe v SVR3 eto bylo izmeneno na paging, t.e. manipulyacii stranitsami pamyati, a ne swapping vsego processa iz pamyati.
Davaite ne putat terminy ?
To, chto razdel nazyvaetsya swap, eshe ne oznachaet, chto chto-to tuda swappitsya.

esli ubrat code dlya peremesheniya stranic na disk, uberetsya tolko ta ego chast, chto za swap razdel i otvetstvenna, i maping file'a v pamyat tut ne pri chem, eto sovsem raznye mehanizmy.


"Споры по поводу раздела подкачки"
Отправлено Sgt.Pepper , 03-Июн-04 14:07 
Net. Eto iz-za algorytma. primenyaemogo v BSD-derived OS'es. Ne skazhu, otkuda imenno, Skazhem, Ultrix i SunOS4.x ispolzovali imenno takuu shemu. Esli nuzhno, mogu posmotret v sovremennyh *BSD, sprohem, eto mozhete glyanut i sami.
Tak vot, est isluchitelno logicheskaya neobhodimost dlya swap >= 2*RAM
Swap space vydelyaetsya srazu dlya vsey pamyati, vydelyaemoj kernelom. T.e. kogda programma zagruzhaetsya, swap dlya nee vydelyaetsya srazu zhe. Kogda programma vyzyvaet brk() li sbrk() dlya vydeleniya pamyati, opyat zhe srazu vydelyaetsya swap space pod eto. Takim obrazom, eto minimum - swap = RAM. Esli sisteme nuzhno bolshe virtual memory, to swap space dolzhen byt bolshe chem RAM.
Sledovatelno, esli swap = 2*RAM, to virtual memory ne budet ravno 3*RAM, virtual memory = swap.
No. Kak SysV UNIXes, tak i Linux ne ispolzuut takuu shemu, naprimer Linux voobshe ne allocate'it pamyat pri brk i sbrk, a tolko togda, kogda ona nachinaet uispolzovatsya.

Taim obrazom, mozhno skazat, chto Linux bystree. S drugoj storony, chto BSD nadezhnee. I to i drugoe verno.

Vot ottuda i poshlo - chto swap dolzhen byt ne menshe 2*RAM - chtoby poluchit dlya BSD sistem v dva raza bolshe virt. pamyati, chem realnaya.
A dalshe pro prichiny zabyli, a sovet ostalsya na veka. I teper v KAZHDOM manuale sovetuyut vydelyat kak minimum 2*RAM pod swap, hotya v etom davno net neobhodimosti.