ПРЕДУПРЕЖДЕНИЕ mongodb: Вы работаете на машине NUMA

У меня есть выделенный сервер под управлением Ubuntu 16.04 LTS. У меня есть проблема с mongoDB сервисом. Когда я вхожу в оболочку, я получаю это сообщение:

WARNING: You are running on a NUMA machine.
We suggest launching mongod like this to avoid performance problems:
numactl --interleave=all mongod [other options]

Как я могу решить его? Я уже попробовал решение как: Как я должен запустить MongoDB на машине NUMA? и: http://greproot.com/warning-you-are-running-on-a-numa-machine-we-suggest-launching-mongod-like-this-to-avoid-performance-problems-numactl-interleaveall-mongod-other-options/, но ничто... не извините за плохой английский язык :D

1
задан 13 April 2017 в 15:24

2 ответа

Можно отключить NUMA, как упомянуто в сообщении, которое Вы копируете/вставляете для процесса. Можно также отключить его в масштабе всей системы в личинке, установив numa=off для ядра. Другая опция отключает, она в BIOS - может зависеть от аппаратных средств, которые Вы используете (для Dell, например, это была бы установка "Node Interleaving" для "Разрешения"), Который будет хорошим решением, если у Вас будет выделенный сервер базы данных за монго.

можно проверить его позже использующий "numactl-H" команда - необходимо видеть только один представленный узел.

Обычно - Вы можете также - в зависимости от Вашей точной ситуации, просто игнорировать сообщение, если Ваш экземпляр монго не является слишком большим. Это не может быть действительно критическая проблема, но монго во время запуска предупреждает Вас о Ваших настройках, которые могут вызвать проблемы. Да - в производственной системе, с большим количеством данных, больших выделений памяти - можно пострадать от проблем производительности или даже иметь сбои выделения памяти.

1
ответ дан 7 December 2019 в 15:46

Как предложил Jacek - При использовании выделенного сервера для mongodb отключение NUMA в BIOS является хорошим вариантом. Для производственных сценариев было предложено использовать команда numactl для соответствования требованиям завтрашнего дня для осведомленности NUMA.

, Чтобы заставить mongod начать использовать чередованный режим, добавьте numactl –interleave=all перед Вашим постоянным клиентом mongod команда:

numactl --interleave=all mongod < mongod options>

При использовании numaclt метода, также отключите vm зону, исправляют zone_reclaim_mode к 0 путем добавления: vm.zone_reclaim_mode = 0 к /etc/sysctl.conf, сохраните его и выполнитесь sysctl -p для загрузки новых настроек в ядро.

Для большего понимания - https://engineering.linkedin.com/performance/optimizing-linux-memory-management-low-latency-high-throughput-databases

0
ответ дан 7 December 2019 в 15:46

Другие вопросы по тегам:

Похожие вопросы: