Веб-сайты нашей компании только что были перенесены с общего хоста на VDS, поскольку хостинговая компания планирует отказаться от менее чем полностью надежных серверов общего хостинга.
VDS имеет всего 256 МБ ОЗУ и содержит несколько сайтов, все, кроме одного, являются очень простыми статическими сайтами всего с несколькими страницами и обслуживают менее 20-30 посетителей в день.
Наш основной сайт, на котором работает несколько настроенная версия OSCommerce, также имеет низкий трафик (редко более 10 или около того одновременных пользователей), но требует MySQL. К сожалению, после перемещения mysqld продолжает давать сбой из-за нехватки памяти. Я немного отредактировал конфигурацию Apache (чтобы уменьшить количество потоков), чтобы облегчить нагрузку, но это только обошло реальную проблему.
На сервере нет места для подкачки, но на нем значительно больше места на диске, чем нам требуется, поэтому я подумываю использовать часть этого места для подкачки. Я знаю, что это не совсем улучшит производительность, но мы можем с этим жить.
Как я могу создать файл подкачки и включить его во время работы сервера? Операционная система - CentOS 5.5 (окончательная версия), а Linux - не мой родной язык.
Обновить: Для всех, кого могут интересовать результаты, поскольку реализация файла подкачки, как описано в Quanta, сервер не только был стабильным, без сбоев mysqld, но и на самом деле обслуживает страницы быстрее, чем раньше. Прирост производительности противоречит тому, что я ожидал, но я рад, что ошибаюсь в данном случае.
Предполагая, что вы хотите создать файл подкачки размером 512 МБ:
# dd if=/dev/zero of=/swapfile bs=1024 count=524288
Настройте область подкачки с помощью:
# mkswap /swapfile
Активируйте это:
# swapon /swapfile
добавить в /etc/fstab
для постоянного:
echo -e "/swapfile\t\tswap\t\tswap\t\tdefaults\t0 0" >> /etc/fstab
и проверить с free -m
.