LINUX.ORG.RU

наболевший вопрос про swap


0

0

1. Почему установщик Debian не откорректируют нормально те люди которые им занимаются? В частности там есть такой пункт как swap.
Ставишь Линукс на машину у которой много гигов оперативной памяти, а установщик настаивает на том что мол - своп не желаете ли установить, так быстрее будет! Мы вроде уже в 21 веке живем.

2. Я от свопа отказался, т.е. на винте такого раздела нет. С какой такой неизвестной переменной мне при запуске линукса на консоль выводится сообщение что swap включен. Что за этим стоит? Это просто надпись или нечто большее? Как это убрать?

Спасибо за внимание!


если своп есть (только откуда возьмётся-то? О_О )
то swapon -s тебе расскажет - где он и какой он )
а то что своп якобы включен...kswapd буянит )

megabaks ★★★★ ()

Врет, если ты не делал его.

Zhbert ★★★★★ ()

>Я от свопа отказался, т.е. на винте такого раздела нет
Не забудьте что в этом случае будет недоступен s2disk

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

уж можешь поверить на слово - она никому ничего не должна!

megabaks ★★★★ ()

>выводится сообщение что swap включен. Что за этим стоит?

Наверное http://compcache.googlecode.com/

Х.з.,как в дебиане, в убунте он включён.Посмотри в конфиге ядра COMPCACHE

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

anonymous ()

Quote:

С какой такой неизвестной переменной мне при запуске линукса на консоль выводится сообщение что swap включен.

Activating swapfile swap...done.

?

Это сообщение init-скриптов. Мешает — выпили. Чтобы убедиться, что свопа нет, набери free — там будут нули.

GotF ★★★★★ ()

1. Не хотите - не делайте. Lenny (вы же его поставили, ага?) будет ещё долго работать на довольно-таки старых машинах, где swap необходим.

2. Просто выполняется swapon -a. Поскольку никаких разделов swap на компьютере нет, команда ничего не делает.

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

сколько у тебя памяти и что запускается на компе?

опыт. включи своп, проверь, если _ни_разу_ не использовался при самых ресурсоёмких задачах - он тебе _пока_ не нужен.

а так - нужен, да )
только настраивать его еще придется, минимум через /proc/sys/vm/swappiness. поставишь в 0 - и нет проблем, когда реально нужно будет, он используется, а так всё в ОЗУ

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

>/proc/sys/vm/swappiness. поставишь в 0 - и нет проблем, когда реально нужно будет
ой зря....
при «когда надо» он тааакииие фризы увидит ^_^

megabaks ★★★★ ()

1. ЕМНИП, при установке OpenSuse тоже указывает на конфу без свопа.

2. Я в Убунте 9.04 тоже от него отказался. Так он мало что запускается, так еще и в коньках показывается.

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

>2. Я в Убунте 9.04 тоже от него отказался. Так он мало что запускается, так еще и в коньках показывается.

А что мешает убрать его из конфига?

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

В коньках уже убрал, ну а глобально — лень ковыряться.

yaroslav ()

на .33 ядре и выше есть ramzswap (compcache) , если памяти много, то лучше использовать его теперь

номинальный свап нужен, иногда случаются тормоза даже при большом количестве памяти, а вообще лучший и наиболее эффективный сейчас вариант будет монтировать /tmp как tmpfs (не менее 512 мб, а лучше больше) для гентушников еще и /var/tmp как tmpfs 1-2 и более Gb , обьем tmpfs может превышать обьемы физической памяти, будет использоваться свап.

tmpfs 1679360 0 1679360 0% /var/tmp
tmpfs 262144 0 262144 0% /dev/shm
tmpfs 524288 154024 370264 30% /tmp


у меня на ноуте так
RAM - 1920 Mb (2 Gb - video) , swap 486 Mb

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

есть вопрос по ramzswap
собственно как?
если отдельно собирать то есть утилитка с настройками и т.д.
а как быть с ядерным ramzswap?
как его вообще настроить - тот же размер и т.д.
где статистику смотреть?
если опять же ставить софтину отдельно, то профит от ядерного кода тогда?

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

я давно очень пользовалась, там было проще, просто загружался модуль с нужными параметрами свапа и делался swapon

теперь все усложнили, в ядре (staging) только модуль, сам по себе он создает /dev/ramzswap0 и все, для установки опций используется утилита rzscontrol ( man: http://compcache.googlecode.com/hg/sub-projects/rzscontrol/man/rzscontrol.html )

т.е. все равно на сайт заходить, утилиту скачивать и собирать
хотя бы для
-i, --init
Initialize given ramzswap device. It causes allocation of metadata for given ramzswap device and makes it ready to receive swap requests. Use swapon(8) to start using this device as swap.

если будете экспериментировать, осторожно с опцией --backing-swap, у меня был свап в файле , так оно ухитрилось нагадить в файловую систему... хорошо попалась какая-то библиотека вроде с glibc , что комп почти тут же стал выдавать ошибки и завис, пробовала с .32 ядром (rc) вроде, и svn версией compcache/ramzswap

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

т.е. как я думал - профита от ядерного кода ноль!
раз нужен тарбол - то ядерный код/модуль лучше отключить - из тарбола версия свежее будет
вроде так

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

ramzswap: module is from the staging directory, the quality is unknown, you have been warned.
ramzswap: num_devices not specified. Using default: 1
ramzswap: Creating 1 devices ...
ramzswap: disk size not provided. You can use disksize_kb module param to specify size.
Using default: (25% of RAM).
Adding 778828k swap on /dev/ramzswap0. Priority:20 extents:1 across:778828k SS

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

Sylvia ★★★★★ ()

Трэд ниасилил, ТС советую нипарить мозг ни себе ни людям, отказался от swap, молодец --- оперативы дофига он нафиг не нужен.

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

запуске линукса на консоль выводится сообщение что swap включен.

Ты бы хоть /etc/fstab запостил для приличия, а то чё у тебя там пишется --- телепаты из отпуска так и не вышли.

ЗЫ С дебианом вроде что-то типа handbook'a идёт, почитай, авось пригодится.

Ygor ★★★★★ ()

Немного не в тему, но вопрос - делаю сервак, как раз ОЗУ там достаточно, swap как я понимаю, смысла создавать нет? Что имеет смысл поместить в tmpfs?

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

>swap как я понимаю, смысла создавать нет

номинальный свап нужен, большой свап смысла создавать нет.

Что имеет смысл поместить в tmpfs?


зависит от дистрибутива, обычно /tmp
для Gentoo - еще и /var/tmp

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

В прямом: если какая-та прога сожрет всю память со свопом выжить легче. Кроме того, имея приличное количество свопа (например, объемом, равным объему оперативы), можно использовать политику vm.overcommit_memory=2 и полностью обезопасить себя от возможного исчезновения доступности сервера, например, ввиду убийства ssh oom_killer'ом и при этом пускать прожорливые проги, скажем, на жабе.

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

Я не представляю, в каком случае на сервере могут быть сожраны десятки гигабайт оперативы. Разве что какая уязвимость?.. Вообще, обидно как-то тратить дисковое место на своп при наличии достаточного объёма ОЗУ. Возможно, я что-то не понимаю, ткните меня в доку что ли, где описано, почему нужно помимо пары десятков гигов озу иметь ещё и пару десятков а то и два раза больше своп?

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

Если только ты не делаешь свап на RAID 1/10 из дорогущих 15k SAS дисков (или, в модной тенденции, SSD), то цена потери даже 10 Гб на свап — мизерна. А в нем могут лежать ненужные в оперативе данные. Например, если сделать /tmp в tmpfs, то они как раз туда (в свап) и пойдут при нехватке оперативы. Ну и кроме того, неплохая страховка от внезапно взбесившегося приложения — от ошибок никто не застрахован.

А вообще, если в сервере 10 Гб оперативы, а используется только один, это означает, что ты ошибся в подсчете необходимого объема памяти и купил лишнее. Можно было бы потратить эти деньги на более быстрый проц, диски или просто сэкономить.

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

У меня там как раз raid 1/0 из дорогущих 15k SAS :) Память лишней не будет, так как сервак берётся на продолжительный срок и загруженность его может со временем измениться. При этом в DL180G6 просто больше нечего было засунуть полезного, потому памяти там под завязку. А вот винты будем добавлять со временем, по мере необходимости. Короче, если своп вдруг ниипически понадобиться, то воткну флешку и сделаю своп на ней.

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

ткните меня в доку что ли, где описано, почему нужно помимо пары десятков гигов озу иметь ещё и пару десятков а то и два раза больше своп?

По поводу разделов вообще, и свопа в частности, никакая дока не сообщит, что их «нужно иметь». Все предпосылки в манах есть, а вывод на твоё усмотрение. (При паре десятков гигов рамы держать соизмеримый своп меня лично жаба задавила бы... может быть.)

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

С другой стороны, если на такое количество памяти не жалко было средств, наверное этот сервак достаточно важный, чтобы не пожалеть добавить ещё одну страховку.

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

Я не знаю, как там у тебя организовано дисковое пространство, но если это lvm, то можно выделить 1-2 Гб свопа в неразмеченном объеме группы томов и выяснить экспериментально, как оно заполняется в процессе работы. Всегда потом можно вернуть пространство в пул.

Вообще, хоть это и оффтопик, прорекламирую LVM. С ним меняется алгоритм размещения данных на диске. Если раньше я был вынужден «угадывать» размер разделов, какой он мне может понадобиться в будущем, то сейчас я просто размечаю разумный минимум (например, в 2 раза больший, чем реально используется), а остальное остается неразмеченным, а потом, при необходимости, просто растягиваю раздел. Кроме того, всегда есть место сделать снапшот при проведении всяких ответственных операций, типа массовых удалений/переименований, на случай, если что затрешь — данные останутся в снапшоте. Потом, когда все закончишь, просто удаляешь снапшот и все. Ну и вопрос где и сколько сделать свап не стоит в принципе: его можно сделать какой угодно (в разумных пределах), или отказаться от него вовсе.

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

Ну если не суспендить на диск, то свопа можно иметь меньше памяти, а польза от него следующая --- если какая-то прога внезапно стала с жуткой скоростью пожирать всю память, то уперевшись в скорость свопа она притормозит и возможно не успеет сделать харакири посредством OOM-killerа. Причём для некоторых прог сожрать всю доступную память --- это нормально их поведение.

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

> LVM даёт чувствительную потерю производительности, не?

В линейном чтении, по крайней мере, нет. Я не вижу разницы в чтении с /dev/sda и /dev/VolGroup00/root (физически их начала практически совпадают). Вот шифрование да, заметно притормаживает.

Вред от LVM возникает только тогда, когда логический том фрагментирован, а это происходит в том случае, если он многократно увеличивается малыми порциями. Против такого есть следующий алгоритм: при заполнении раздела, скажем, на 80% просто удваивать его объем (если позволяет свободное место) на каждом следующем шаге. Этот алгоритм минимизует фрагментацию при полном отсутствии прогноза по росту дисковых запросов.

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

LVM — это гибкость. Можно сделать сколько надо дисковых разделов. В чем выгода? Ну например, в разделении данных на данные, которые часто читаются, но редко изменяются (/), которые часто пишутся (/var), которые в основном читаются и обычно увеличиваются в объеме (/usr), временные данные (/tmp). Для каждого случая можно подобрать FS, размер кластера, параметры монтирования. Помимо этого легко переносить разделы с носителя на носитель (например, во время апгрейда), теоретически, даже без остановки сервера (если диски можно включать вгорячую), плюс снапшоты, короче — совершенно новый уровень работы с дисковой памятью.

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

Единственно, чего не рекомендую — это использовать stripe средствами LVM. Лучше уж блочное устройство (RAID0) средствами mdadm делать, а так — полная свобода.

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

Короче, для меня это слишком сложно :) Я не умею работать с LVM и на продакшен ставить то, что не знаю пока не хочу. Сперва какую-нибудь тестовую хрень надо наладить и на ней тренироваться.

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