Solaris 可调参数参考手册

Sun-4u 特定参数

consistent_coloring

说明

从 Solaris 2.6 发行版开始,便引入了在 UltraSPARC® (sun4u) 平台上使用不同的页放置策略的功能。页放置策略尝试通过分配物理页地址来最大程度地利用 L2 高速缓存。无论选择何种算法作为缺省算法,此算法可能生成的结果都会比其他用于特定应用程序集的算法要差。此参数可更改系统上为所有进程选定的放置算法。

根据 L2 高速缓存的大小,将内存分为多个容器。在未映射的页上第一次发生页面错误时,页放置代码便会从容器中分配一个页面。所选页取决于要使用以下三种可能的算法中的哪一种:

  • 页面染色 (Page coloring)-将使用各种虚拟地址位确定从中选择页的容器。此算法为 Solaris 8 发行版中的缺省算法。需要将 consistent_coloring 设置为零才能使用此算法。对于此算法,不存在任何按进程历史记录。

  • 虚拟地址=物理地址-程序中连续的页将从连续的容器中选择页。需要将 consistent_coloring 设置为 1 才能使用此算法。对于此算法,不存在任何按进程历史记录。

  • 容器跳跃 (Bin-hopping)-程序中连续的页通常是每隔一个容器分配一个页面,但是此算法偶尔会跳过多个容器。需要将 consistent_coloring 设置为 2 才能使用此算法。每个进程都从随机选择的容器启动,并且保留最后所分配容器的每进程内存。

是否为动态

验证

无。值大于 2 会导致控制台上显示多条 WARNING: AS_2_BIN:bad consistent coloring value 消息。此后系统立即挂起。需要重新启动电源才能恢复系统。

何时更改

当系统的主工作负荷是一组长期运行的高性能计算 (high-performance computing, HPC) 应用程序时。更改此值可以优化性能。具有多个活动进程的文件服务器,数据库服务器和系统(例如,编译和分时服务器)则不会因更改而受益。

承诺级别

不稳定

tsb_alloc_hiwater_factor

说明

按以下方式初始化 tsb_alloc_hiwater,以便设置可分配给转换存储缓冲区 (translation storage buffer, TSB) 的物理内存量的上限:

tsb_alloc_hiwater= 物理内存(以字节为单位)/tsb_alloc_hiwater_factor

当分配给 TSB 的内存与 tsb_alloc_hiwater 的值相等时,由于页面未映射,因此 TSB 内存分配算法将尝试回收 TSB 内存。

使用此因子增大 tsb_alloc_hiwater 值时务必谨慎。要防止系统挂起,生成的上限值必须远低于 swapfs_minfreesegspt_minfree 的值。

数据类型

整数

缺省值

32

范围

1 到 MAXINT

请注意,如果因子为 1,则所有物理内存均可分配给 TSB,这可能导致系统挂起。如果因子太大,则没有可分配给 TSB 的内存,从而降低了系统性能。

是否为动态

验证

何时更改

如果系统具有许多关联到非常大的共享内存段的进程,则更改此参数的值。在大多数情况下,无需调节此变量。

承诺级别

不稳定

default_tsb_size

说明

选择分配给所有进程的初始转换存储缓冲区 (translation storage buffer, TSB) 的大小。

数据类型

整数

缺省值

缺省值为 0 (8 KB)

范围

可能的值为:

值 

说明 

8 KB 

16 KB 

32 KB 

128 KB 

256 KB 

512 KB 

1 MB 

是否为动态

验证

何时更改

该值通常不需要更改。但是,如果系统上多数进程的工作集都大于平均工作集,或者禁用了驻留集大小 (resident set size, RSS) 大小调整功能,则更改此值会很有益。

承诺级别

不稳定

enable_tsb_rss_sizing

说明

启用基于驻留集大小 (resident set size, RSS) 的 TSB 大小调整试探性算法。

数据类型

布尔值

缺省值

1(可以调整 TSB 的大小)

范围

0(可以调整 TSB 的大小)或 1(TSB 保留为 tsb_default_size

是否为动态

验证

何时更改

请勿修改此可调参数。

承诺级别

不稳定

tsb_rss_factor

说明

控制 RSS 大小调整试探性算法的 RSS 到 TSB 的跨度比。此因子除以 512 便可得出 TSB 跨度的百分比,在将 TSB 视为备选的大小调整对象之前,此跨度比必须驻留在内存中。

数据类型

整数

缺省值

384,由于预期某些虚拟地址会映射到 TSB 中的同一个槽,因此只能得出值 75%。

范围

0 到 512

是否为动态

验证

何时更改

如果具有较小地址空间的应用程序发现由于 TSB 中的虚拟地址冲突而导致的 TSB 未命中,则可能需要考虑将此值减小至 0。

例如,在某些情况下,将 tsb_rss_factor 更改为 50% 而不是 75% 可能有助于消除 TSB 中的虚拟地址冲突,但是会使用更多的内核内存,特别是在高负荷的系统上。

承诺级别

不稳定