On 2013-05-23, Casper H.S Dik <Caspe...@OrSPaMcle.COM> wrote:
> Stefan Krueger <
stadt...@gmx.de> writes:
>
>>is there a reason why OOB large page support is still disabled on
>>solaris 11.1 x64?
>
>># echo "auto_lpg_disable/D" | mdb -k
>>auto_lpg_disable:
>>auto_lpg_disable: 1
>
> This doesn't disable large pages; but it won't creates them
> automatically for processes (if my reading of the code is
> correct)
Yeah, but why are large pages not used by default on x86 solaris? Are
x86 CPUs more efficient with small pages than SPARC CPUs? Or are there
any known problems (except with NVidia GFX cards...)
>>IIRC Intel CPUs nowadays support 4k, 2M (and some Xeons also 1G) pages
>>and Linux runs happily with transparent hugepages for a while now...
>
>>Another question, were can I get the current size of the pagetables
>>(like the PageTables line in Linux's /proc/meminfo?)
>
> $ pagesize -a
> 4096
> 2097152
> 1073741824
>
> (This is on a X2270 with two Intel Xeon X5660 and 50GB of memory
> but with no settings to auto_lpg_disable)
Thanks, but I didn't ask for available pagesizes, I asked for the
memory size the OS uses to manage all those pages... Say you have a DB
with a 16GB memory region (SGA):
16GB / 4K Pages == 4194304 Pages
16GB / 2M Pages == 8192 Pages
16GB / 1G Pages == 16 Pages
You get the idea. On Linux, the memory needed to manage all those
pages is visiable in /proc/meminfo (or, for each process in
/proc/$pid/smaps; lines starting with VmPTE)...
(I could also measure it with TLB hits/misses, but running cpustat
kills my [non-VM] machine as you know).
Regards,
Stefan