Назад | Перейти на главную страницу

Как увеличить пространство подкачки на живом сервере

В Ubuntu 14.04 файл подкачки должен быть увеличен, поскольку использование памяти и подкачки достигает 100%.

Можно ли увеличить объем подкачки на рабочем производственном сервере с минимальным прерыванием работы службы?

Выход free -h:

             total       used       free     shared    buffers     cached
Mem:          3.9G       3.4G       435M        24K       1.2M       7.5M
-/+ buffers/cache:       3.4G       443M
Swap:         8.0G       6.6G       1.4G

Я согласен с комментарием о большем количестве оперативной памяти. Отвечая на ваш вопрос: вы можете создать либо дополнительный раздел подкачки (если у вас есть лишнее место на жестком диске), либо создать файл подкачки.

dd if=/dev/zero of=/path/to/swap_file bs=1024 count=${size_of_additional_swap}
mkswap /path/to/swap_file
swapon /path/to/swap_file

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

Как сказал Майкл Хэмптон в своем комментарии, вам нужно больше оперативной памяти, а не подкачки.

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

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

Однако, чтобы ответить на вопрос, вы не можете продлить своп в реальном времени. Вам нужно будет размонтировать / поменять местами, расширить базовое хранилище, а затем перемонтировать / поменять местами.

Забудьте о реальной поддержке ОС для динамического изменения размера: вы НЕ используете WINDOWS®! :-)
Более серьезно: вы можете увеличить размер файла подкачки во время его использования, но вам нужно будет снова запустить mkswap, что подразумевает его сначала размонтирование.

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

Из-за используемого вами размера свопа я бы установил/proc/sys/vm/swappinessдо 100, это может снизить активность диска за счет более высокого использования пространства подкачки.
Я не знаю ваше соотношение ОЗУ / использованный своп; но, учитывая используемый размер свопа, я подозреваю, что он слишком велик. Если это правда, вам действительно стоит подумать о добавлении некоторых модулей памяти, прежде чем вы начнете сильно останавливаться на своем сервере.