Назад | Перейти на главную страницу

сбой файла подкачки mysql на freebsd

У меня 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 команда, которая запускается еженедельно
  • Добавить еще своп. После определенного момента должно быть достаточно памяти, чтобы сервер мог сосуществовать с периодическими задачами.
  • Добавьте еще одну периодическую задачу, которая запускается после других и перезапускает сервер