Проверяя размер подкачки на моем сервере Ubuntu, я обнаружил, что он установлен на ноль. Так как он был установлен в базовой конфигурации из AWS EC2, я не уверен, что мне пришлось делать дополнительные шаги для настройки области размера подкачки.
Я выполнил следующие команды и получил следующие результаты:
# grep Swap /proc/meminfo
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
# swapon -s
# free -m
total used free shared buff/cache available
Mem: 7975 187 7059 0 728 7549
Swap: 0 0 0
# cat /proc/swaps
Filename Type Size Used Priority
Нормально ли установить область подкачки на ноль? Если это не так, что я должен сделать, чтобы это исправить?
Спасибо!
По некоторым причинам некоторое облако (VPS) поставщики отключает подкачку в их (измененных) установках. В наше время файл подкачки поддержки Ubuntu, таким образом Вам не нужен отдельный раздел для подкачки. Для включения подкачки через файл подкачки выполняют эти шаги:
sudo fallocate -l 4G /swapfile # Create a 'swap-file'; 4G in this case
sudo chmod 600 /swapfile # Set the necessary file permissions
ls -lh /swapfile # Check
sudo mkswap /swapfile # Mark the file as 'swap'
sudo swapon /swapfile # Enable the 'swap'
sudo swapon --show # Check
free -h # Another check
Править /etc/fstab
и делайте изменения постоянными. Используйте эти команды, чтобы сделать изменения:
sudo sed 's/^.*swap.*$//' /etc/fstab -i.bak # Remove the previous swap entries
# and create a backup copy of the file
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # Add a new entry
Или редактирование /etc/fstab
и добавьте следующую запись вручную:
/swapfile none swap sw 0 0
Это - это.
Идеи для дополнительных тонких настроек (я предпочел бы использовать настройки по умолчанию для нормального использования подкачки):
Измените частоту RAM для СВОПИНГА копии данных:
sudo sysctl vm.swappiness=10 # value 0-100: low value low frequency
cat /proc/sys/vm/swappiness # Check
Измените частоту Очистки кэша:
sudo sysctl vm.vfs_cache_pressure=50 # 0-100: high value high frequency
cat /proc/sys/vm/vfs_cache_pressure # Check
Делайте вышеупомянутые изменения постоянными:
sudo cp /etc/sysctl.conf{,.bak} # Create a backup copy of the file '/etc/sysctl.conf'
echo -e '\nCustom settings: value 0-100; default 100\nvm.swappiness=10\nvm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
Или редактирование /etc/sysctl.conf
и добавьте следующие записи вручную:
# Custom settings: value 0-100; default 100
vm.swappiness=10
vm.vfs_cache_pressure=50