Изменить размер СВОП раздела? (Как изменить раздел своп раздела?)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

zboy85
Сообщения: 3

Изменить размер СВОП раздела?

Сообщение zboy85 »

У меня проблема - добавил на сервер памяти, и получилось что оперативной памяти сейчас больше чем размер свопа.
Как можно увеличить раздел свопа без переустановки и безопасно?
И может ли такое несоответствие приводить к тому, что линукс уходит в своп, или причина в другом?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Изменить размер СВОП раздела?

Сообщение SLEDopit »

zboy85 писал(а):
08.09.2008 00:55
У меня проблема - добавил на сервер памяти, и получилось что оперативной памяти сейчас больше чем размер свопа.
Как можно увеличить раздел свопа без переустановки и безопасно?
И может ли такое несоответствие приводить к тому, что линукс уходит в своп, или причина в другом?
а есть ли смысл увеличивать своп?
стопроцентно безопасного способа увеличения нет, можно подвинуть разделы gparted'ом, но есть вероятность, пусть и небольшая, потери данных.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Изменить размер СВОП раздела?

Сообщение rm_ »

У меня проблема - добавил на сервер памяти, и получилось что оперативной памяти сейчас больше чем размер свопа.

Проблема в том, что Вы думаете о свопе и его объёмах в терминах 94-го года и винды 3.11. :)
Рекомендация "своп должен быть больше RAM" не имеет абсолютно разумного объяснения на сегодня, а может и никогда не имела.
После добавления оперативной памяти можно подумать о том, чтобы своп уменьшить, но никак уж не увеличивать.
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Изменить размер СВОП раздела?

Сообщение Grom »

Согласен с предыдущими ответами, что увеличивать размер свопа особого смысла нет.
Только маленькое замечание:
SLEDopit писал(а):
08.09.2008 01:01
стопроцентно безопасного способа увеличения нет, можно подвинуть разделы gparted'ом, но есть вероятность, пусть и небольшая, потери данных.

Пожалуй, есть один 100%-безопасный способ увеличить своп: создать еще одну своп-партишен.
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Изменить размер СВОП раздела?

Сообщение allez »

Grom писал(а):
08.09.2008 03:45
Пожалуй, есть один 100%-безопасный способ увеличить своп: создать еще одну своп-партишен.
Стопроцентно безопасным способом является лишь создание файла подкачки. Создание же раздела подкачки таковым быть не может, так как есть риск грохнуть таблицу разделов диска.
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Изменить размер СВОП раздела?

Сообщение Flaming »

Да ладно вам, за те несколько секунд, которые на это потратятся, ничего не грохнется. :)
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Изменить размер СВОП раздела?

Сообщение rm_ »

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

Я тоже везде предпочитаю своп-файлы, как раз из-за их гибкости.
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: Изменить размер СВОП раздела?

Сообщение guglez »

Слышал что если размер свопа меньше, чем количество оперативки - то такой своп работать не будет. Это так?
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Изменить размер СВОП раздела?

Сообщение Flaming »

guglez писал(а):
08.09.2008 11:36
Слышал что если размер свопа меньше, чем количество оперативки - то такой своп работать не будет. Это так?

Бред бредом. Своп будет использоваться только тогда, когда кончится оперативка. Исключение - некоторые программы.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5498
ОС: Gentoo

Re: Изменить размер СВОП раздела?

Сообщение /dev/random »

guglez писал(а):
08.09.2008 11:36
Слышал что если размер свопа меньше, чем количество оперативки - то такой своп работать не будет. Это так?

Это верно только для WinNT 4.0 (и, возможно, Win2000 - не помню). В нём, действительно, работа со свопом осуществлялась по-идиотски: для каждой страницы в памяти при её выделении также выделялась страница в своп-файле, и свопиться она могла только туда. Если свопа оказывалось меньше, чем оперативной памяти, то могли быть неприятности. В наши же дни, AFAIK, нет ни одной операционки, которая бы использовала такой подход. И уж тем более, такого бреда никогда не было в линуксе.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Изменить размер СВОП раздела?

Сообщение rm_ »

Своп будет использоваться только тогда, когда кончится оперативка.

Ну почему, может и раньше, может и позже (но не надолго :) ). Точнее говоря, понятие "кончилась оперативка" у ядра довольно гибкое, и настраивается через swappiness.
Спасибо сказали:
zboy85
Сообщения: 3

Re: Изменить размер СВОП раздела?

Сообщение zboy85 »

Хорошо, а подскажите тогда мне, как сделать так, чтобы программы не уходили в своп. У меня просто машина виснет из за mysql - я так понимаю, было бы больше свопа - не висли бы. А только свопа не остается - все, достучаться до машины не возможно, только физической перезагрузкой
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Изменить размер СВОП раздела?

Сообщение allez »

zboy85 писал(а):
09.09.2008 13:00
Хорошо, а подскажите тогда мне, как сделать так, чтобы программы не уходили в своп.

Боюсь, что никак. Да вы лучше все-таки своп-файл сделайте:

Код: Выделить всё

dd if=/dev/zero of=/.swapfile bs=1M count=1024 # В данном примере создается файл размером 1 гигабайт
mkswap -v1 /.swapfile
swapon /.swapfile
Потом впишете этот файл в /etc/fstab и будет вам счастье. ;)
Спасибо сказали:
Flaming
Сообщения: 2579

Re: Изменить размер СВОП раздела?

Сообщение Flaming »

zboy85, сказано же:
rm_ писал(а):
08.09.2008 12:59
Точнее говоря, понятие "кончилась оперативка" у ядра довольно гибкое, и настраивается через swappiness.

Просто поставить такое значение, чтобы он вообще не использовался, или 0 или 100, точно не помню...
Можно его вообще из fstab выкусить, если мешает, но не рекоммендуется, хотя наверняка без него заработает.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Изменить размер СВОП раздела?

Сообщение eddy »

Если оперативы 512М и больше, своп вообще не нужен: даже матлаб при своих требованиях к памяти своп не жрет (правда, если не нагружать его сверхогромными матрицами, но тогда проц сдохнет :-) )
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Изменить размер СВОП раздела?

Сообщение rm_ »

поставить такое значение, чтобы он вообще не использовался, или 0 или 100, точно не помню...

Ноль. Только крайне сомневаюсь, что это поможет.

Если сервер с несколькими гигабайтами памяти ещё на несколько гигабайтов уходит в своп, после чего тот переполняется и наступает OOM (видимо), значит "что-то тут не чисто". Либо комбинация неоптимально написанных, "кладущих базу" запросов с неправильной настройкой MySQL (есть в нём возможность ограничить выделяемые на один запрос объёмы ОЗУ и процессора? воспользуйтесь ею), либо просто, возлагаемая на сервер нагрузка многократно превышает то, что можно реалистично ожидать от этой СУБД и этой аппаратной конфигурации.

Добавление свопа может и помочь, но во-первых ненадолго, а во-вторых - от сервера, у которого съедена вся оперативка и ещё несколько раз по столько же - своп, нормальную производительность вряд ли удастся получить.
Спасибо сказали:
pktfag
Сообщения: 142
ОС: Arch Linux

Re: Изменить размер СВОП раздела?

Сообщение pktfag »

zboy85 писал(а):
09.09.2008 13:00
Хорошо, а подскажите тогда мне, как сделать так, чтобы программы не уходили в своп.

Пусть /dev/sda2 - раздел для свопа.
sudo swapoff /dev/sda2 - отключение использования свопа системой.
sudo swapon /dev/sda2 - включение использования свопа системой.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Изменить размер СВОП раздела?

Сообщение SLEDopit »

eddy писал(а):
09.09.2008 16:52
Если оперативы 512М и больше, своп вообще не нужен: даже матлаб при своих требованиях к памяти своп не жрет (правда, если не нагружать его сверхогромными матрицами, но тогда проц сдохнет :-) )
ну уж не знаю как у вас, а у меня гиг оперативы и 1-1,5 из 2х гигов свопа влегкую съедает gimp. особенно если обрабатывать > 3 картинок одновременно.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Nikky
Сообщения: 339
ОС: Debian GNU/Linux

Re: Изменить размер СВОП раздела?

Сообщение Nikky »

Где-то на нашем форуме прочел следующее: при достаточном обьеме оперативной памяти (сегодняшние дистрибутивы  минимумом считают 256Mb, 512 - zer goot!, а больше и того лучше).  Понимаю, что эти выкладки давались для десктопов, сервера могут требовать гораздо больше. Раздел (файл) подкачки нужен в основном для стабильной работы системы при утечках памяти в бажных программах. Звучит убедительно. Топикстартеру порекомендовал бы посмотреть более пристально на Mysql, причина по-видимому в неоптимизированых запросах, как уже говорилось выше.
Арфы нет - возьмите бубен...
Спасибо сказали:
vantaker
Сообщения: 166

Re: Изменить размер СВОП раздела?

Сообщение vantaker »

Раздел (файл) подкачки нужен в основном для стабильной работы системы при утечках памяти в бажных программах.
...
... и при использовании hibernate вместо выключения компа
Спасибо сказали: