Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-18726

INNDOB gets confused when using large pages if pages=1G

    Details

      Description

      In older machines, large pages are =2MB, and of you have enough of them, let's say 10G, you may use in my.cnf
      large_pages=1
      innodb_buffer_pool_size=10G
      and innodb correctly allocates from this faster, never swappable memory pool.
      BUT, if the machine is newer, and you booted with a kernel command line with
      hugepagesz=1G default_hugepagesz=1G
      Then you only need to allocate 10 pages to get 10GB of memory. This makes memory managent much faster
      however, Innodb get confused. if you add
      innodb_buffer_pool_size=5G
      it will allocate 50G from the OS, verifiable doing
      cat /proc/meminfo | grep HugePages
      yet internally it will think it has only 5G, the rest is wasted.

      I have a box ready to show the issue to Elena is she wants to see it. I have seen the issue in many boxes.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                marko Marko Mäkelä
                Reporter:
                philip_38 Philip orleans
              • Votes:
                2 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: