`
wsql
  • 浏览: 11816996 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Sybase12.5影响内存分配的配置参数

 
阅读更多
设置 Adaptive Server 的内存配置时,应使用 sp_configure 命令用绝对值指定每个内存要求。也用绝对值指定过程和缺省数据高速缓存的大小。

影响内存分配方式的配置参数有三个。这些参数是:

max memory
配置参数 max memory 用于建立可分配给 Adaptive Server 的内存量的最大设置。将 max memory 的值设置为稍大于当时所需的内存量的值,这样当 Adaptive Server 的内存需求增加时,就可利用这些附加的内存。

Adaptive Server 分配由 max memory 指定的内存的方式取决于如何配置 allocate max shared memory 和 dynamic allocation on demand。

allocate max shared memory
allocate max shared memory 参数用于分配由 max memory 在启动时指定的所有内存,或仅分配启动期间总逻辑内存规范所需的内存。
在某些平台上,如果分配给应用程序的共享内存段数量大于平台特定的最佳数量,则可能会导致性能下降。如果出现这种情况,应将 max memory 设置为可供 Adaptive Server 使用的最大内存量。将 allocate max shared memory 设置为 1 并重新启动服务器。这将确保在启动时以最小的段数将 max memory 的所有内存都分配给 Adaptive Server。
例如,如果将 allocate max shared memory 设置为 0(缺省值),将 max memory 设置为 500MB,但服务器配置在启动时只需要 100MB 内存,则 Adaptive Server 仅在需要额外内存时才分配剩余的 400MB 内存。然而,如果将 allocate max shared memory 设置为 1,则 Adaptive Server 在启动时将分配全部 500MB 内存。

通过将 allocate max shared memory 设置为 1,在启动时分配所有内存的好处是,不会有在服务器为附加内存进行重新调整时所导致的性能下降。然而,如果未能正确预知内存增长,且将 max memory 设置为大值,那么就会浪费物理内存。因为不能动态降低内存配置参数,所以将其它内存要求考虑在内非常重要。

dynamic allocation on demand
dynamic allocation on demand 用于确定是在请求时立即分配内存资源,还是仅在需要时分配。如果将 dynamic allocation on demand 设置为 1,可以根据需要更改内存分配;如果设置为 0,则在重新配置内存时分配内存配置变化所需的已配置内存。
例如,如果将 dynamic allocation on demand 的值设置为 1,并将 number of user connections 更改为 1024,则 total logical memory 为 1024 乘以每个用户的内存量。如果每一用户的内存量是 112K,那么用于用户连接的内存是 112MB (1024 x 112)。
这是允许 number of user connections 配置参数使用的最大内存量。然而,如果只有 500 个用户连接到此服务器,则 number of user connections 参数所用的总物理内存量为 56MB (500 x 112)。
现假定 dynamic allocation on demand 的值为 0;当您将 number of user connections 更改为 1024 时,所有用户连接资源立即配置。
最好应组织 Adaptive Server 的内存,使 total physical memory 的数量小于总逻辑内存量,而总逻辑内存量小于 max memory。通过将 dynamic allocation on demand 的值设置为 1,将 allocate max shared memory 的值设置为 0,可部分实现上述要求。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics