使用 SHMVIRTSIZE 配置参数来指定虚拟共享内存段的初始大小。
如果 SHMADD 未出现:8192。
64 位平台:正整数,最大值 4 TB
由于操作系统限制,在一些平台上最大值可能较小。 要查看您的 UNIX™ 平台的实际最大值,请参阅 machine notes。
shmvirtsize = fixed overhead + ((stack size + heap) * number of users)
变量 | 使用的值 |
---|---|
fixed overhead | 这包括 AIO 向量的大小、排序内存、dbspace 备份缓冲区、字典大小、存储过程高速缓存的大小、直方图池、其他池和其他开销。
要获得固定开销的估计,请启动数据库服务器,如果有的话,还要看分配了多少附加的内存段。当您启动服务器时,您在系统上拥有的用户数影响内存段的分配。当您启动服务器时:
|
stack size | 在 32 位系统上,使用 32 KB 堆栈大小。在 64 位系统上,您典型地使用 64 KB 堆栈大小。然而,一些 64 位系统使用不同的值。 |
heap | 每用户使用 30 KB。 |
用户数 | 使用服务器上您预计的并发用户会话的最大数目。 |
如果可能,创建一个共享内存的虚拟部分,其大小大于您每日处理的大小。
使用 onstat -g seg 命令来确定峰值用量并相应地降低 SHMVIRTSIZE 配置参数的值。