跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 可调参数参考手册 Oracle Solaris 11 Information Library (简体中文) |
本节介绍了通用内存可调参数,这些参数适用于使用非统一内存体系结构 (Non-Uniform Memory Architecture, NUMA) 的任何 SPARC 或 x86 系统。
当所请求的页大小无法立即在本地内存组中获得,但是可以从远程内存组得到满足时,控制对大内存页的分配试探。
缺省情况下,如果本地空闲内存是碎片式的,但远程空闲内存不是,则 Oracle Solaris OS 将分配远程的大页面。将此参数设置为 1,指示应该做一些额外的工作来尝试在本地分配较大内存页,例如,也许可以将较小的页进行移动,从而在本地内存组中将空出的空间接合成较大的页面。
布尔值
0(如果本地空闲内存是碎片式的而远程空闲内存不是,则首选远程分配)
0(如果本地空闲内存是碎片式的而远程空闲内存不是,则首选远程分配)
1(尽可能选用本地分配,即使本地空闲内存是碎片式的而远程空闲内存不是)
否
无
如果系统上长时间运行的程序要分配由某个程序访问的内存,或者已知由一组程序访问的内存将要在同一地址组 (lgroup) 中运行,则可以将此参数设置为 1。在这些情况下,可以随着程序的长时间运行分摊页面接合操作的额外成本。
如果多个程序要跨不同的地址组共享内存,或者如果页面只会被使用较短时间,则可以将此参数保留为缺省值 (0)。在这些情况下,快速分配所请求的大小要比在特定位置分配更为重要。
可以使用 NUMA 监测工具(可从 http://hub.opensolaris.org/bin/view/Main/ 获取)观察页位置和大小。可以使用 trapstat - T 命令观察 TLB 未命中活动。
Uncommitted(未确定)
此变量反映 Oracle Solaris OS 使用的缺省内存分配策略。此变量为整数,其值应该与 sys/lgrp.h 文件中列出的策略之一相对应。
整数
1,LGRP_MEM_POLICY_NEXT,指示内存分配缺省为执行内存分配的线程的主 lgroup。
可能的值为:
|
否
无
在使用 NUMA 的系统上,从远程分配内存比从本地分配内存有一定的内存延迟,可以为对这种延迟敏感的应用程序进行更改
Uncommitted(未确定)
如果进程在某个用户处理器集内运行,此变量将确定为该进程随机放置的内存是从系统中的所有 lgroup 中选择,还是仅从该处理器集内的处理器所包含的那些 lgroup 中选择。
有关创建处理器集的更多信息,请参见 psrset(1M)。
布尔值
0,Oracle Solaris OS 从系统中的所有 lgroup 选择内存
0,Oracle Solaris OS 从系统中的所有 lgroup 选择内存(缺省)
1,尝试仅从处理器集内的处理器所包含的那些 lgroup 选择内存。如果第一次尝试失败,则可以在任何 lgroup 中分配内存。
否
无
当处理器集用于将应用程序相互隔离时,将此值设置为值一 (1) 可能会带来更稳定的性能。
Uncommitted(未确定)