−25%

за Windows при годишно плащане, до 31.10. Към плановете

EQVPS

Как да добавиш swap файл на Linux VPS

Създай swap файл с пет команди, накарай го да оцелява след рестарт и настрой swappiness; плюс колко swap да добавиш и кога истинското решение е повече RAM.

Малките сървъри остават без памет в най-лошите моменти: apt upgrade, Docker билд, нощен бекъп. Без swap OOM killer-ът на ядрото избира процес и го приключва, често базата ти данни. Swap файлът е евтин предпазен колан, който дава на тези пикове къде да отидат. Отнема пет команди.

1. Провери какво имаш

swapon --show
free -h

Ако swapon --show не изведе нищо, още няма swap.

2. Създай swap файла

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

chmod 600 е важно: swap-ът може да съдържа парчета от всичко, което е било в паметта, включително тайни, така че само root трябва да може да го чете. Ако fallocate се провали с «operation not supported», ползвай dd вместо него:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Направи го постоянен

Без тази стъпка swap-ът изчезва след рестарт:

echo '/swapfile none swap sw 0 0' >> /etc/fstab

4. Настрой swappiness

Кажи на ядрото да предпочита RAM и да ползва swap главно при натиск:

echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system

5. Провери

swapon --show
free -h

Трябва да видиш swap устройство от 2 GB, а cat /proc/sys/vm/swappiness трябва да отпечата 10.

Колко голям да е?

Не оразмерявай swap-а на «двойно повече от RAM». На сървър swap-ът е там, за да поема кратки пикове, не за да пуска натоварвания, които не се побират в паметта.

Когато swap не е отговорът

Наблюдавай го няколко дни:

vmstat 5

Колоните si и so показват страниците, влизащи и излизащи от swap в секунда. Случайна активност е наред. Постоянни ненулеви стойности значат, че на сървъра не му стига памет и всичко чака диска. Тогава решението е повече RAM; виж колко RAM трябва на един VPS. В EQVPS можеш да минеш на по-голям план без преинсталиране; данните ти остават.

Свързани

Въпроси

Колко swap да добавя?

На сървъри с 1–2 GB RAM swap файл от 1–2 GB е добър стандарт. И на по-големи сървъри 1–2 GB стигат като предпазна мрежа; съветът «двойно повече от RAM» е от времето на машините с 256 MB.

Ще направи ли swap сървъра ми по-бърз?

Не. Swap само предотвратява сривове, когато паметта за миг свърши: обновяване на пакет, Docker билд, бекъп. Страниците памет на диска са хиляди пъти по-бавни от RAM. Ако сървърът постоянно swap-ва, трябва му повече RAM.

Какво прави swappiness?

Определя колко охотно ядрото мести неактивна памет в swap. Стандартното 60 swap-ва доста рано; 10 казва на ядрото да държи нещата в RAM и да ползва swap главно при реален натиск, което пасва на повечето сървъри.

Защо swap файл, а не swap дял?

Файл може да бъде създаден, преоразмерен и изтрит на работещ сървър за секунди, без да пипаш таблицата на дяловете. Производителността на съвременните файлови системи е същата.

Как да махна swap по-късно?

Пусни 'swapoff /swapfile', изтрий реда за /swapfile от /etc/fstab, после 'rm /swapfile'.

Коментари

Още няма коментари. Бъди първият.

Остави коментар

Коментарите се модерират преди да се появят.