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

Чередование узлов NUMA не работает для MariaDB

Пожалуйста, помогите активировать чередование узлов NUMA для MariaDB.

Использование MariaDB 10.1.21 в CentOS Linux версии 7.3.1611.

Согласно инструкциям на https://mariadb.com/kb/en/mariadb/systemd/ добавлен /etc/systemd/system/mariadb.service.d/custom.conf:

[Service]
ExecStart=/usr/bin/numactl --interleave=all /usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION

/ var / log / messages показывает, что вызывается numactl:

Feb 23 10:40:46 host systemd: Starting MariaDB database server...
Feb 23 10:40:46 host numactl: 2017-02-23 10:40:46 140580844599552 [Note] /usr/sbin/mysqld (mysqld 10.1.21-MariaDB) starting as process 37349 ...
Feb 23 10:40:51 host systemd: Started MariaDB database server.

Но numastat показывает, что чередование узлов NUMA не работает:

[root@host ~]# numastat -p $(pidof mysqld)

Per-node process memory usage (in MBs) for PID 37349 (mysqld)
                           Node 0          Node 1           Total
                  --------------- --------------- ---------------
Huge                         0.00            0.00            0.00
Heap                         0.00            0.00            0.00
Stack                     2711.53         1330.39         4041.92
Private                  23868.98         6126.55        29995.54
----------------  --------------- --------------- ---------------
Total                    26580.51         7456.95        34037.46

Как видите, между узлом 0 и узлом 1 существует огромный дисбаланс.

Я бы рекомендовал начать сначала с проверки, применялась ли эта политика на самом деле. Проверьте, если /proc/…PID-of-interest…/numa_maps есть записи, обозначенные как interleave:.

Для е. грамм.:

7ffecdccd000 interleave:0-1 stack anon=8 dirty=8 active=1 N0=4 N1=4 kernelpagesize_kB=4

(Я полагаю, вы не найдете такого.)

Вторая вещь, о которой я могу думать, это:

[mysqld]
…
innodb_numa_interleave = on
…
[mysqld_safe]
…
numa_interleave = on
…

- По крайней мере, скрипты Percona обрабатывают предыдущую настройку, и может быть так, что, если вы явно не указали их, они будут установлены по умолчанию.