2 Replies Latest reply: Nov 22, 2013 2:24 PM by RaiderOfTheLostSparc RSS

    No Largepages by default on x86




      is there any reason why auto_lpg_disable is set to 1 by default on Solaris 11.1 x64? This makes the kernel not use larger pages (2M and IIRC 1G for newer CPUs) for heap (and anon?!) unless you tell it explicitly (i.e. via MPSS preloading, ppgsz etc.)

        • 1. Re: No Largepages by default on x86


          in Solaris 10 you should disable the 1 GB Pagesize by yourself. Otherwise an Oracle-DB just takes a lot of time to allocate memory and runs really slow. It's a known Bug: System Administration Issues and Bugs - Oracle Solaris 10 1/13 Release Notes (No.15807808)


          Seems like they didn't fixed the problem in Solaris 11 (I didn't tried it yet), so its just smart to disable 1 GB pagesizes by default.

          • 2. Re: No Largepages by default on x86

            Thanks for the reply. Fortunately (or not ) I'm not using a CPU with 1 GB pages…


            Anyway, I've put the following lines in /etc/system

            set segkmem_lpsize = 0x200000

            set auto_lpg_disable = 0


            to make use of 2 MB pages (kernel and user land).


            PS: Some programs like squid get auto-promoted to 2 MB pages (while others need some help via ppgsz -o heap=2M -p $pid)…

            root@sol11.1:~# pmap -s $(pgrep squid) | grep heap

            083DC000     144K   4K rw---    [ heap ]

            08400000  100352K   2M rw---    [ heap ]


            Not as easy as transparent huge pages on Linux, but still better than 4k pages only