LINUX.ORG.RU

> if you happened to have 512 MB of memory using a single stick of DDR in a motherboard that has 4 slots, you could get another two 512 MB sticks (fulfilling the 2x RAM guideline for swap) and plug them in

Поручик Ржевский в данной ситуации сказал бы примерно так:
Господа, а не проще ли эти дополнительные 512 использовать по
назначению, как основную память, а своп просто отключить? ;)

annonymous ★★
()

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

В данный момент у меня на ноутбуке гиг памяти. И 2 гига своп-раздел. Когда я просто пишу код - мне своп не нужен совсем, и я его на хрен вырубаю - производительность растёт процентов на 13-17 в зависимости от ситуации (не хотите - не верьте, сам проверял). Если же я рендерю модель у которой входные данные - 2 гига, я включаю своп - и производительность растёт =) (хотя бы в том, что рендерится модель нормально, а не вылетает процентах на 30-ти).

Так что предложенная статья имеет мало смысла в текущих условиях. И как правильно сказано в комментариях - зачем делать такой диск свопом, когда можно купить атлон64 и 4 гига памяти?

И совсем уж не в тему: Такой диск имеет смысл если надо хранить большое количество временных файлов малого общего размера - только не своп, а нормальный рамдрайв. Видел, как эмулятор железяки какой-то начал работать почти в четыре раза быстрее по сравнению с винтом (в конторе разрабатывалась какая-то железная сетевая приблуда). Сейчас, я считаю, оправдано только такое использование рамдрайва, а не в качестве свопа.

Может я чего-то не учёл, но по крайней мере постарался, так что сильно не пинайтесь =)

daebear
()

Можно еще извратиться, сжать диск чем-нибудь и покриптовать. Во скорость-то будет!

Shaman007 ★★★★★
()

> Эта статья о том, как превратить часть оперативной памяти в swap

Рулез. Осталось еще найти статью о том, как делать сою из мяса, и будет щасте и мир во всем мире.

int19h ★★★★
()
Ответ на: комментарий от int19h

mne kazhetsia lud4e sdelat' swap dazhe ne bolshoj, xot' i budet u tebia 1 GB pamiati, ibo bez swap'a kohda obrabatyvaesh N GB dannyx razom - 1. tormoza i 2. visiak ili kernel panik:) (s default 2.4 i 2.6 kerneliami) IMHO, ne obedneete 100megov swapu na diske:P

anonymous
()

Господа! А может, всё гораздо проще? Может, линукс теперь, как винда - без свопа жить не могёт, сколько б ни было памяти? :)

anonymous
()
Ответ на: комментарий от anonymous

from http://kerneltrap.org/node/view/3202

Following recent discussions about tuning swapiness [story] and dynamically allocating swap as needed [story], a new discussion ensued on the lkml questioning the need for swap altogether when a system has "sufficient" ram.

Nick Piggin [interview] explained that swap can improve performance no matter how much RAM you have, "well it is a magical property of swap space, because extra RAM doesn't allow you to replace unused memory with often used memory. The theory holds true no matter how much RAM you have. Swap can improve performance. It can be trivially demonstrated." This said, numerous Linux users do report success running a swapless system.

As to why swap performance might be becoming more and more an issue over time, Rik van Riel [interview] suggested that this could be due to the growing gap between the speed of RAM and the speed of hard drives, "the speed of hard disks doesn't grow anywhere near as fast as the size of memory and applications. This means that over the last years, swapping in any particular application has gotten SLOWER than it used to be ... This means that even though the VM is way smarter than it used to be, the visibility of any wrong decision has increased."

anonymous
()

задолбали фокусы, Линусу&Co надо звездюлей прописать >:Е... система должна сама определять, что будет быстрее и конфигурить себя под текущие требования динамически, а заодно и пинать юзера сообщениеями типа "купи мозгов, а то через неделю винт спалю к херам"

anonymous
()

"На Плюке всю воду на луц перегнали, а здесь из луца воду делают..." (с) Кин-дза-дза

brainf_cker
()
Ответ на: комментарий от Selecter

>А с 256 рамами на домашней машинке swap нужен?

Домашняя машинка - понятие растяжимое. На ней запросто может использоваться Матлаб, или 3D-рендерилка, или еще что.

У меня полгига памяти и я наблюдал случай с использованием полгига в разделе подкачки (ОО + Mozilla + Matlab при обучении НС).

anonymous
()
Ответ на: комментарий от Shaman007

ты не поверишь, но если правильно настроить криптование, то уменьшение производительности будет максимум 5-7%

anonymous
()
Ответ на: комментарий от anonymous

Если кто читал, объясните пожалуйста бедному неграмотному, который плохо понимает англицкий. Это "из любви к искусству", или линух теперь без свапа работает хуже, чем даже когда свапит рам-в-рам?

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

Вообще-то SWAP -- мне кажется пережытком пршлого, когда памяти было 32Мб или того меньше, а сейчас при использовании стандартных приложений KDE и GNOME и при наличии памяти 1 Гб, можно, его отключить, но иметь необходимо при критичных по объему расходования памяти операциях. Вообщем, надо понять самому, где поставить запятую в фразе: "Казнить нельзя помиловать."

anonymous
()

Слушайте. Обьясните нахрена это вообще нужно? Я просто не вижу разницы между имением 1 гига рамы без свопа или тот же 1 гиг рамы, но 256 мег - рам своп диск. Что это даст?

anonymous
()
Ответ на: комментарий от anonymous

> Я просто не вижу разницы между имением 1 гига рамы без свопа или тот же 1 гиг рамы, но 256 мег - рам своп диск.

> Что это даст?

Как минимум публикацию на ЛОРе.

ansi ★★★★
()
Ответ на: комментарий от anonymous

народ читайте оригинал:

But we do have swap tightly integrated into the kernel. So, it seems that there should be some swap, even if it is swap RAM. (All I can say is my computers run more smoothly with ram swap than with no swap at all). And it could be that the kernel code will be satisfied (run well) with perhaps only 200 MB swap in a 1 GB physical memory system. 800 MB main memory, and 200 MB swap in RAM. That can be a part of this test.

есть вопросы? вперёд, разгребать трёп: http://kerneltrap.org/node/view/3202

anonymous
()
Ответ на: комментарий от Yampp

Нет, просто они очень правильную траву курят. Типа "туда-сюда-обратно". А в 2.6 вообще-то есть пункт конфигурации вида "выкинуть нахер поддержку всякого свопа из ядра".

Статью ещё не прочитал до конца, но судя по заголовку и цитатам, идея -- просто крепчайший маразм. Полноприходной такой маразм. Вроде анекдота про чукчу и трёхкомнатную квартиру:

Чукча: в гостинной поставил юрту...

Собеседник: а посрать куда ходишь?

Чукча: как обычно -- за юрту.

anonymous
()

к примеру для ноутбука необходим неменее swap = 1.5оперативы для того чтобы всякий hibernate настроить..

SandySandy
()

Маразм крепчал, решётки гнулись... клиника!

anonymous
()
Ответ на: комментарий от daebear

Ну так ты же сам всё и объяснил - такой своп нужен, дабы нормальный не отключать - типа, чтоб шибко умное ядро обмануть, когда оно не в кассу свопиться полезет. Только, конечно же, RAM swap должен быть никак не RAM*2, лучше где-то так RAM/4 + RAM*2 disk swap.

Antichrist
()
Ответ на: комментарий от sin_a

Строго говоря, лялих вообще никогда не умел без свопа жить (hint: бинарники он mmap-ит, и, соответственно, эти страницы может выбрасывать, если захочет).

Antichrist
()
Ответ на: комментарий от Antichrist

В какую то версию Линукса я запихивал Оракл. Просто СУБД туда запихнуть не сложно, а что бы заставить работать Pro*C мне пришлось помучиться. На машине было 1Гб памяти, я выделил еще 1Гб под свап. При компиляции программ машина глухо висла. Долго я выяснял в чем проблемма, пока не заметил, что компилятор съедает всю память, потом когда всю съест, машина виснет. Как известно, в юниксе процессу выдается 4Гб памяти, поэтому я увеличил своп до 3Гб и после этого, при заполнении всей памяти, ядро просто убивало процесс. Так стало проце выявить ошибку в настройках.

Так что теперь всегда выделаю свопа столько, чтобы в сумме с ОЗУ было 4Гб.

_nick_

anonymous
()
Ответ на: комментарий от Selecter

>А с 256 рамами на домашней машинке swap нужен?

Нужен. Вот у меня 256 (денег не хватило :( ), своп - ~430 мег. А firefox временами кушает по 300 мегов после суток работы. Утечки, мля

K48 ★★★★
()
Ответ на: комментарий от anonymous

>Может, линукс теперь, как винда - без свопа жить не могёт, сколько б ни было памяти? :)

я уже год живу без свопа. у меня всего полгига памяти. Игрушки играются, GNOME KDE mozilla OO без проблем.

anonymous
()
Ответ на: комментарий от K48

это у тебя какой-то неправильный firefox

anonymous
()
Ответ на: комментарий от anonymous

>> Может, линукс теперь, как винда - без свопа жить не могёт, сколько б ни было памяти? :)

> я уже год живу без свопа. у меня всего полгига памяти. Игрушки играются, GNOME KDE mozilla OO без проблем.

У тебя Slackware ?

:-)

anonymous
()
Ответ на: комментарий от Antichrist

> Строго говоря, лялих вообще никогда не умел без свопа жить

Это пугает. Своп - по определению костыль, и если линух не может обходиться без костылей... мдя... невеселые какие-то мысли.

int19h ★★★★
()
Ответ на: комментарий от anonymous

2anonymous (*) (23.08.2004 6:27:18) aka _nick_
>В какую то версию Линукса я запихивал Оракл.
В какую-то версию Linux я запихнул какую-то версию Oracle. Документацию по установке не читал и рекомендациям Oracle не следовал.
>а что бы заставить работать Pro*C мне пришлось помучиться.
А чо там мучиться? Препроцессор он и в Африке препроцессор. RTFM.
>При компиляции программ машина глухо висла.
При компилляции чем? ProC или gcc?
>Долго я выяснял в чем проблемма, пока не заметил, что компилятор съедает всю память,
Замечать надо красивых девушек на улице :-)
>Как известно, в юниксе процессу выдается 4Гб памяти,
Как известно, "юниксы" бывают разные.
>Так что теперь всегда выделаю свопа столько, чтобы в сумме с ОЗУ было 4Гб.
Счастлиффчик, а если на компе 8гиг рамы, сколько тебе свопа нужно, чтобы ProC ничего не заметил? :-)

anonymous
()
Ответ на: комментарий от int19h

Перейдём на личности. То бишь на примеры.

Ты запускаешь emerge -Du world. Он отжирает 16-20М оперативки. Запускается компиляция... ну скажем kde-libs. Или хуже того openoffice. Которая продолжается нное кол-во минут. Или даже часов. При этом 16-20М emerge никуда не деваются -- он продолжает висеть в памяти. Спрашивается: а нафиг он там нужен? Почему бы ему не полежать в свопе? Тем более та пара секунд, которые он будет оттуда возвращаться после завершения компиляции стопроцентно будут покрыты выигрышем во время компиляции за счёт кеширования хедеров в этих самых 16-20М оперативки.

А ты говоришь костыль...

PS: Можешь проверить на досуге.

ejka
()
Ответ на: комментарий от ejka

> При этом 16-20М emerge никуда не деваются -- он продолжает висеть в памяти. Спрашивается: а нафиг он там нужен? Почему бы ему не полежать в свопе?

Так если своп в памяти - какая разница?

int19h ★★★★
()
Ответ на: комментарий от ejka

На счёт "Почему бы ему не полежать в свопе". Как раз так по ходу делает оффтопик - если процесс долго не работает, оно кладёт его в своп (типа нафиг он такой память занимет). Только вот из за этого происходит такая фигня: например сижу програмлю в студии, рядом запущено пара тройка браузеров с различными доками. Пока я собствено пишу код, оффтопик выгружает браузеры в своп. И тут мне надо _быстренько_ залесть в доку, например вспомнить как точно называется тот или иной метод. И начинаетя... Пока оно достанет браузер из свопа может пройти несколько десятков секунд (особенно если в это время что нить активно юзает хард). Всё это аремя сидишь и тупо глядишь в экран теребя в нетерпении мышку. И так постоянно. Вобщем к концу рабочего дня дико от этого озвереваешь.

anonymous
()
Ответ на: комментарий от int19h

>> Строго говоря, лялих вообще никогда не умел без свопа жить
> Это пугает. Своп - по определению костыль

А ты по меньше слушай глупые высказывания, даже если они говорят "строго говоря" - это просто гон.
Для справки - у меня на ноуте год без swap'a все прекрасно работает.
ядро 2.4, 384MB RAM, иногда запускаю VMware и тогда линуксу, KDE и т.п. остается 150-200MB RAM.

>> hint: бинарники он mmap-ит, и, соответственно, эти страницы может выбрасывать, если захочет).
hint2: А может и не выбрасывать никогда, если не захочет. Строго говоря.

szh ★★★★
()
Ответ на: комментарий от Antichrist

>4 Gb процессу на IA32 тебе никто не даст. 3 только.

Остаётся только удивиться матерям, которые на IA32 12Гб поддреживают. Скажем, у меня на вебсервере - SE7500WV2 :)

KRoN73 ★★★★★
()
Ответ на: комментарий от int19h

это ты сам придумал или тебя кто-то надоумил, что своп - костыль? :)) в таком случае - регисты, кэш и ленточка с дисками - тоже костыль. вся память должна быть однородной, энергонезависимой, _очень_ большой емкости и малым временем доступа. только в этом случае своп будет костылем, во всех других - он просто часть пирамиды

HellAngel ★★
()
Ответ на: комментарий от szh

>hint2: А может и не выбрасывать никогда, если не захочет.
Надо добавить "или если некуда выбрасывать". Ведь не выбрасывает же он из памяти ничего, когда своп забит? В общем, выводы:

1. Свопить ram-to-ram смысла не имеет - только будут расходоваться ресурсы на обработку ram-диска и swapfs.
2. Авторов сей замечательной идеи - в дурку.
3. SWAP на (жесткий диск, флешку, CDRW/DVDRW - нужное подчеркнуть) все же нужен при интенсивной работе с ОЗУ какого-то одного процесса (рендера, компилятора и т. п.).

В принципе, действительно может быть полезен RAM-диск (для всяких микроконтроллеров, роутеров и т. п.). То есть, при включении оно автоматом копирует ОС из флеш-диска на RAM-диск и уже с RAM-диском работает, а данные сохраняет на память с батарейкой или в какой-то определенный кусок флеш-диска. Можно батарейку вообще к ОЗУхе подключить, чтобы свести задержки на загрузку к минимуму.
Точно так же (в смысле ОЗУ на батарейках) хотели сделать и PC-шки. Насколько я помню, HP, IBM, Dell этими вопросами игрались.

R00T
()
Ответ на: комментарий от Selecter

Смотря что ты собрался делать. Если имидж кноппикса собирать - несомненно нужен. Да и всяческие игрушки память любят.

jackill ★★★★★
()
Ответ на: комментарий от Antichrist

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

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>Слушайте. Обьясните нахрена это вообще нужно? Я просто не вижу разницы между имением 1 гига рамы без свопа или тот же 1 гиг рамы, но 256 мег - рам своп диск. Что это даст?

Linux на ia32, насколько я знаю, умеет адресовать напрямую около 800M, остальное он адресует через окно небольшого размера (типа XMS/EMS в 16-разрядных системах). Если от памяти отпилить лишние мегабайты в виде свопа --- куда обращения редки, или просто сказав mem=768M, то возможно система станет работать лучше.

dn2010 ★★★★★
()
Ответ на: комментарий от szh

А эта падла непременно захочет... За что и облом с лялихом в жёстком риалтайме... :(

Antichrist
()

Заинтересовался, почитал треды на приведенной ссылке и на kerneltrap... и набрел на вот такую заметочку:

http://hedera.linuxnews.pl/_news/2002/09/03/_long/1445.html

в которой предлагается своп не в ОЗУ и не на винчестере размещать а вообще в видеопамяти :) Если конечно свопа нужно мало (просто шоб было) а видеопамять имеется в наличии лишняя. Почитал, вспомнил что у меня стоит древний бюджетный радеон, в который китайцы засунули зачем-то 64 метра памяти, которые мне ну совсем не нужны... И попробовал. Классно. Появляется возможность прикрутить эти лишние метры хоть к какому-нибудь делу :))

anonymous
()
Ответ на: комментарий от anonymous

>Заинтересовался, почитал треды на приведенной ссылке и на kerneltrap... и набрел на вот такую заметочку: http://hedera.linuxnews.pl/_news/2002/09/03/_long/1445.html в которой предлагается своп не в ОЗУ и не на винчестере размещать а вообще в видеопамяти :)

Круто. Давно уже хотелось что-то такое сделать ;-)

anonymous
()
Ответ на: комментарий от dn2010

>Linux на ia32, насколько я знаю, умеет адресовать напрямую около 800M, остальное он адресует через окно небольшого размера

Насчёт ia32 не знаю, но вот начиная с 486-го появилась возможность линейной адресации к 4-ём гигам памяти (адрес в 32 бита, понимаешь)

Cobalt
()
Ответ на: комментарий от Cobalt

>но вот начиная с 486-го появилась возможность линейной адресации к 4-ём гигам памяти

С 386-го, вообще-то :) А на 486-м появилась виртуальная адресация до 16Тб

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

Это имеет смысл только для машин, у которых 1..2 гига памяти (то есть, менее 4-х Гб).
Вот у меня для GF4MX440:

Region 1: Memory at f8000000 (32-bit, prefetchable) [size=64M]

Адресация с f8000000 соответствует адресации с 3968Мб.

Что касается необходимости XFree для этого дела, так я вообще не понял... Для RAM-диска он использовал кусок Region 1 (а мог бы и вообще 1Мб отдать под видеопамять, а остальное под RAM-диск). И на фига там XFree??? В смысле, я хочу сказать, что XFree не обязательно required.

R00T
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.