Файл подкачки: swap-файл и swap-раздел в Linux | ||
Разное > Тюнинг Все мы знаем, что swap-файлы в Linux делаются просто и легко - настолько просто, что забываем, как это делается. Прежде, чем что-то создавать, хорошо бы узнать, сколько swap-пространства у нас уже имеется в системе - для этого следует дать команду в консоли от рута: # swapon -s Результат будет в виде:
$ su 2. Думаем*, какой размер swap-файла нам нужен в мегабайтах. Подумавши, даём команду: sudo dd if=/dev/zero of=/swapfile bs=1M count=500 или # dd if=/dev/zero of=/swapfile bs=1M count=500 В команде dd для задания размеров можно использовать суффиксы K, M, G для килобайт, мегабайт и гигабайт соответственно. В данном примере это 500 Мегабайт файла подкачки. sudo mkswap /swapfile или # mkswap /swapfile
sudo swapon /swapfile или # swapon /swapfile При этом в выводе команды top или команды free должно появиться упоминание, что свопинга в системе поприбавилось. Чтобы отключить файл подкачки, пишем sudo swapoff /swapfile или # swapoff /swapfile Чтобы не подключать swap-файл или swap-раздел каждый раз, полезно занести запись в /etc/fstab следующего содержания: /swapfile none swap sw 0 0 На всякий случай отмечу, что каждый раз создавать swap-файл не нужно: просто подключаете и отключаете его с помощью swapon/swapoff. Работа со swap-разделами в Linux происходит аналогичным образом. swapon -p 1 /opt/swapfile Приоритет является целым числом от 0 до 32767. Чрезмерное значение здесь приведёт к интенсивному использованию swap-файла, что нежелательно. Слишком маленькое значение может привести к тому, что при заполнении памяти будет принудительно запущен OOMkiller (процесс, запускающийся при исчерпании памяти и убивающий наиболее ресурсоёмкие задачи). Временно (до перезагрузки системы) изменить этот параметр можно с помощью команды:
echo 50 > /proc/sys/vm/swappiness
Чтобы изменить значение по умолчанию, необходимо изменить параметр vm.swappiness:
vm.swappiness=50
в файле /etc/sysctl.conf Следует, впрочем, отметить, что со vm.swappiness сильно перегибать палку не стоит. При больших значениях система потеряет в отзывчивости (будет вытеснять память, с которой работают приложения, в своп, хотя оперативной памяти ещё много). При малых значениях система работает отзывчивей, но когда оперативная память заканчивается, система начинает активно свопиться и притормаживать. Также можно попробовать увеличить\уменьшить объём потребляемой системой памяти за счёт изменения размеров дискового кеша. Уровень выделяемой под кеш памяти хранится в echo 1000 > /proc/sys/vm/vfs_cache_pressure и далее продолжаем играться с параметрами вплоть до полного удовлетворения. Для того, чтобы настройки стали постоянными, заносим параметр vm.vfs_cache_pressure = 1000 в файл /etc/sysctl.conf и со следующей загрузки дисковые кеши будут смачно чавкать вашей оперативной памятью. Источник: |
||
Комментарии | ||