Enabling NUMA

  • Filter
  • Time
  • Show
Clear All
new posts

  • Enabling NUMA


    Is there a way to specify these options in configuration file?

    I've tried to add them into [mysqld_safe] section but it doesn't work:

    numa-interleave = 1
    flush-caches = 1

    # cat /proc/$(pidof mysqld)/numa_maps | cut -d ' ' -f 2 | uniq

    Please note that I'm using Percona server 5.5.30-30.2

  • #2
    I have the same problem. Using Percona Server 5.5.35. The options have no effect. If I put them in the [mysqld] section they get rejected, so _something_ is happening, but it's not interleaving.


    • #3
      Looks like the "Improved NUMA Support" page has it exactly backwards: of the 3 variables, innodb_buffer_pool_populate is read from the config file (the mysqld section), not the command line, and the other two must be specified on the mysqld_safe command line (--numa-interleave --flush-caches). They are not processed when they are in the mysqld_safe section of my.cnf - they're silently ignored.

      The next question is whether there's a good way to get these options into the mysqld_safe command line when using 'service mysql start'. I don't yet see any way to do it without modifying /etc/init.d/mysql.


      • #4
        Looks like a bug in parse_arguments. Making this change to /usr/bin/mysqld_safe as supplied in Percona Server 5.5.35 got the [mysqld_safe] section working for me:

        --- mysqld_safe.5.5 (revision 9078)
        +++ mysqld_safe.5.5 (working copy)
        @@ -233,7 +233,9 @@
        --syslog-tag=*) syslog_tag="$val" ;;
        --timezone=*) TZ="$val"; export TZ; ;;
        --flush-caches) flush_caches=1 ;;
        + --flush-caches=*) flush_caches="$val";;
        --numa-interleave) numa_interleave=1 ;;
        + --numa-interleave=*) numa_interleave="$val" ;;

        --help) usage ;;