Swap пространството в Linux
Swap е дисково пространство, което ядрото на Linux използва като буфер за паметта: рядко използваните страници памет се преместват там, така че RAM паметта да остане свободна за активна работа. Това може да бъде отделен дял или swap файл и се показва от командите free -h и swapon --show.
1Защо swap все още е полезен
Дори при наличие на много RAM, swap позволява на ядрото да премества неактивни страници извън паметта и осигурява буфер, преди убиецът при липса на памет (OOM killer) да спре процесите. Интензивното и постоянно ползване на swap обаче означава, че машината се нуждае от повече RAM памет или по-малко натоварване.
2Swappiness
Настройката на ядрото vm.swappiness (0-200, по подразбиране 60) оказва влияние върху това колко готово е ядрото да използва swap в сравнение с изчистването на кеша на файловете. По-ниските стойности задържат паметта на приложенията в RAM по-дълго. Тя се прочита с sysctl vm.swappiness и се задава за постоянно във файл в /etc/sysctl.d/.
3Swap файлове
Swap файлът се създава, форматира се с mkswap, активира се със swapon и се добавя към /etc/fstab, за да се запази след рестартиране. Правата му за достъп трябва да бъдат 600.
Как да добавиш 2 GB swap файл
- Създай файла:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 - Ограничи достъпа:
sudo chmod 600 /swapfile - Форматирай го:
sudo mkswap /swapfile - Активирай го:
sudo swapon /swapfile - Направи го постоянен: добави реда '/swapfile none swap sw 0 0' към
/etc/fstab - Провери:
swapon --showиfree -h
Внимание
- При Btrfs swap файлът се нуждае от специална подготовка (без copy-on-write); следвай ръководството на своята дистрибуция.
- Грешка в
/etc/fstabможе да спре зареждането на системата: провери реда преди рестартиране.
Свързани статии
- df (disk free)Как да разчиташ изхода на df, защо Use% може да достигне 100%, преди Avail да стане нула за обикновените потребители, и как да провериш inode-овете с df -i.
- systemd модули и systemctlКакво представлява systemd модулът, основните видове модули и как да стартираш, спираш, активираш и проверяваш услуги със systemctl.
- Използване на диска с du и ncduКак да намериш какво заема мястото на Linux диск с du и интерактивния ncdu, с опции, които остават в една файлова система.
Източници
- swapon(8) man7.org
- mkswap(8) man7.org
- free(1) man7.org
- Документация за /proc/sys/vm (kernel.org) kernel.org
Последен преглед: