У меня VPS с нехваткой памяти, поэтому mysql и файл подкачки вылетают каждое утро ровно в 03:00. В системе нет заданий cron, которые были настроены. Сервер является базовым сервером разработки LAMP, и все настройки установлены по умолчанию.
cat /var/log/messages|grep -i mysql
Jun 25 20:51:07 vader sshd[72946]: error: PAM: authentication error for mysql from 65.52.155.140
Jun 28 03:01:34 vader kernel: pid 848 (mysqld), uid 88, was killed: out of swap space
Jun 28 03:01:34 vader kernel: pid 93947 (mysqld), uid 88, was killed: out of swap space
Jun 29 03:01:32 vader kernel: pid 98578 (mysqld), uid 88, was killed: out of swap space
Jun 29 03:01:33 vader kernel: pid 2586 (mysqld), uid 88, was killed: out of swap space
У меня файл подкачки 1 гиг. Пробовал 2 гига, через неделю начинается та же картина вылетов.
ls -l /home/sw*
-rw------- 1 root wheel 1073741824 Jun 21 13:19 /home/swap0
Хуже того, я не могу повторно инициализировать файл подкачки без перезагрузки
swapoff -a mdconfig -a -t vnode -f / home / swap0 -u 0 && swapon / dev / md0 mdconfig: ioctl (/ dev / mdctl): устройство занято
У меня мало памяти для работы:
# vmstat
procs memory page disks faults cpu
r b w avm fre flt re pi po fr sr vt0 md0 in sy cs us sy id
1 0 3 1709M 491M 44 0 0 0 54 29 0 0 4 135 94 0 0 100
Но мне это не нужно, если mysql работает правильно.
Два вопроса.
нет. 1) Как мне повторно инициализировать файл подкачки после его сбоя, чтобы мне не приходилось перезагружаться (я просто хотел бы знать, потому что все, что я нахожу в Google, терпит неудачу)?
нет. 2) Как мне стабилизировать mysql, чтобы он не отрыгнул на уровне 0300 при большом объеме памяти?
Я просто видел такое поведение, за исключением того, что в моем случае сервер mysql умирал еженедельно, а не ежедневно. Это произошло одновременно с выполнением еженедельных периодических задач (см. / Etc / crontab и /etc/cron.d/periodic/{daily,weekly}/). Из вашего журнала похоже, что это происходит в 03:01, то есть во время ежедневного периодического запуска задачи (начинается в 03:00). Есть несколько возможных решений:
makewhatis
команда, которая запускается еженедельно