mongodb mystery падает с сигкилом под страйсом
У меня есть экземпляр mongodb, который, кажется, падает примерно один раз в день. Я не вижу никакой полезной информации в файле журнала Монго. Все хорошо, и тогда процесс просто падает без дополнительной информации. Я запустил его под стражей в надежде получить несколько полезных подсказок, пока он не рухнул и не получил такой вывод:
Wed Apr 17 10:56:39.340 [conn172] M/R: (1/3) Emit Progress: 2800/4351 64%
Wed Apr 17 10:57:16.696 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 16ms
Wed Apr 17 10:57:17.035 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 17ms
Wed Apr 17 10:57:17.429 [PeriodicTask::Runner] task: DBConnectionPool-cleaner took: 79ms
+++ killed by SIGKILL +++
Это происходит только на одной конкретной виртуальной машине, а остальные в порядке. Также проверял почасовую / ежедневную работу cron на случай, если что-то пошло наперекосяк и убило Монгода, но подозреваемых там не было.
ОС: Ubuntu 12.04.2
Монго: 2.4.1
Что-нибудь еще, что я могу сделать для дальнейшего устранения проблем?
1 ответ
Вы выполняете задание Map Reduce во время его уничтожения, всегда ли это так?
Я спрашиваю, потому что это похоже на поведение, которое вы получаете, когда процесс сторожевого типа решает, что вы используете слишком много памяти, и убивает процесс. Задания Map Reduce (в частности, встроенные или те, которые выполняются на больших наборах данных), как правило, быстро увеличивают использование оперативной памяти.
SIGKILL - это не то, что вы получили бы, если бы это ядро решило, что у вас недостаточно памяти, и вызвало убийцу OOM (это похоже на тихий сбой и зарегистрирован в dmesg). Следовательно, это заставило бы меня поверить, что есть что-то еще, делающее убийство, чтобы предотвратить использование памяти выше определенного порога.
Если вы хотите проверить, запустите db.collection.find().explain()
на большом наборе данных и посмотреть, вызывает ли это также SIGKILL. Если это так, я не думаю, что этот тип виртуальной машины подходит для работы с базой данных с отображением памяти.