mongod on numa machine – Kamenitza Notepad

Skip to content

By Тодор in Linux

Конкретния пример е с Centos 7.3 64bit и mongodb 3.4
При инсталацията по подразбиране демона се стартира, но следните предупреждения лъсват при влизане в mongo през конзолата:

** WARNING: Access control is not enabled for the database.
**          Read and write access to data and configuration is unrestricted.
** WARNING: You are running on a NUMA machine.
**          We suggest launching mongod like this to avoid performance problems:
**              numactl --interleave=all mongod [other options]
** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
**        We suggest setting it to 'never'
** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
**        We suggest setting it to 'never'

За да се оттървем от последните 3 от тези предупреждения правим следното:
Във файла /usr/lib/systemd/system/mongod.service променяме:
User=mongod
да стане:
User=root
И още:
ExecStart=/usr/bin/mongod $OPTIONS run
да стане:
ExecStart=/usr/bin/numactl --interleave=all runuser -s /bin/bash mongod -c '/usr/bin/mongod --quiet -f /etc/mongod.conf run'
Презареждаме промените с:
# systemctl daemon-reload
Във файла /etc/sysctl.conf добавяме:
vm.zone_reclaim_mode = 0
Във файла /etc/security/limits.d/20-nproc.conf добавяме реда:
mongod       soft    nproc     unlimited
Файла /etc/rc.local по подразбиране вече не е изпълним, но все пак е оставен за съвместимост. Правим го изпълним с:
# chmod +x /etc/rc.local
И в него добавяме:
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag

Сега е необходим рестарт на сървъра и след влизане в mongo, всико би трябвало да изглежда по-добре.

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.