У нас есть mongoDB с набором реплик из 3 узлов, работающих на экземплярах AWS EC2.Все операции чтения / записи подключаются к первичному узлу, а 2 вторичных узла являются просто резервной копией на случай первичного сбоя.Все узлы имеют одинаковую конфигурацию ОС.
RAM - 8G
DISK - 200G
CPU - 2 core
Проблема: На первичном узле нормальная загрузка, а использование ЦП / памяти нормальное.Но один из вторичных узлов использует огромную память (ОЗУ) почти на 82%, тогда как другой вторичный узел использует только 47% памяти (ОЗУ).
[mongo-2:~]$ free -m
total used free shared buff/cache available
Mem: 7683 5870 210 0 1601 1511
Swap: 0 0 0
Вывод верхней команды показывает, что 75% памятииспользуется Mongod.
[mongo-2:~]$ top
top - 15:24:45 up 40 days, 23:56, 1 user, load average: 0.02, 0.03, 0.00
Tasks: 87 total, 1 running, 44 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.7 us, 0.0 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.7 us, 0.0 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 7867452 total, 149344 free, 6033940 used, 1684168 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1524636 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7825 mongod 20 0 8275988 5.7g 7940 S 1.7 75.4 2057:18 mongod
1706 root 20 0 274296 10720 2484 S 0.3 0.1 42:06.32 node_exporter
12376 ec2-user 20 0 168872 4180 3644 R 0.3 0.1 0:00.01 top
1 root 20 0 125656 4132 2696 S 0.0 0.1 0:12.62 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.38 kthreadd
Кроме того, узел синхронизирован с Основным, и все параметры установлены по умолчанию.
Можете ли вы, ребята, предположить, почему дополнительный экземпляр использует большепамяти, чем основной?
Кроме того, если вам нужна дополнительная информация, пожалуйста, прокомментируйте.