请教:sybase 12.5.0.3 for linux无法分配cache
HP DL580 G5服务器 4 CPU 32G内存,操作系统: Red Hat Linux AS4 Update 5 (32 bit),sybase ASE 12.5.0.3 (32 bit),安装完成后,给sybase 分配16G max memory,8000M 的default data cache之后,SYBASE无法启动,提示:
00:00000:00000:2009/02/12 09:19:10.88 serverProc header memory allocated 1616 pages for each per engine cache
00:00000:00000:2009/02/12 09:19:11.78 serverInvalid Configuration: Unable to start SQL Server since the defined cache configuration consumes more memory than is available for buffer caches. The server may be started with a default configuration using the -c startserver option.
将default data cache 设成6000M可以启动,但再增加procedure cache 2G后仍不能启动.测试发现所有CACHE的和加起来大约超过 7 G ,SYBASE就无法启动.Linux下kernel.shmmax=32768000000
操作系统换成 AS4 Update 6也不行,是不是SYBASE 12.5.0.3 32bit 对 CACHE 有限制?
请教高手!!! 这相应该是SYBASE调优上基本都能碰到的问题,给你一个配置的说明,看一下能否对你有帮助:
优化系统参数
以下参数为标准建议值,可根据实际情况修改。
优化系统参数的SQL脚本 注释
sp_configure 'total memory', 100000 优化数据库的内存,应根据不同机器配置设置, 建议为一半的物理内存大小。以db_block为单位,即每个单位为2k,上例为200M,默认为24M.
sp_configure "lock scheme" , 1,"datarows" 系统默认为表级锁,优化为行锁
sp_configure "number of locks" , 10000 加大最大锁进程数, 默认为5000。
(如果设置一个已经存在的表(tabel)的锁方式为行锁,则执行:
alter table table_name lock datarows)
sp_configure 'procedure cache percent' ,30 缺省值:20 建议值:procedure使用频率高时采用较大的值,不超过30
sp_configure "number of user connections",100 最大用户连接数,默认为25,每个连接要占70k内存
sp_configure 'number of devices',20 将最大设备文件数据改为15个
sp_configure ‘number of Open databases’,20 最大打开数据库个数,对于需在一台数据库服务上打个多个数据库则需加大此参数,默认为15
Sp_configure ‘max online engines CPU’,2 缺省值:1 建议值:采用实际机器的CPU个数
Sp_configure ‘total data cache size’,60000 缺省值:0 建议值:使用SQL SERVER内存的30%
如果上述参数改动后SYBASE启动不正常,则可检查SYBASE的错误日志,把SYBASE.cfg中的相应选项修改为较小的值。
附:SYBASE SQL SERVER 内存的分配
1. SQL SERVER 可执行代码 3-4M
2. SQL SERVER 使用的静态内存 2.2-3.25M
3. 用户可配置的参数所占用内存,以下示例(11.9.2版):
默认值 占用内存
用户连接数(user connections) 25 每个 约70k
打开的数据库数(open database) 12 每个 约60k
打开的对象数(open objects) 500 每个 约1k
打开的索引数(open indexs) 500 每个 约1k
锁数目(locks) 5000 每个 约0.1k
数据库设备数(data device) 10 每个 约0.5k
4. 剩余部份分配给
过程缓存 ( 由 procedure cache percent 决定,默认值为 20% )
数据缓存 ( 默认值为减去1、2、3项的 80% ) 32位理论上不支持大于2G的memory,实际好象不支持大于3G的memory,除非使用extend cache,用ipcs -ma看看。
最好还是用64位的。 max memory 设置的是多少? 给sybase 分配16G max memory
好像SYBASE12.5.0.3不支持这么大的内存吧,好像3楼说的,最大支持到2G。 谢谢,诸位高手支持!!!
经测试发现
max memory设成10G、20G都可以,但实际可用的CACHE(default data cache/procedure cache/tempdb cache/other)加起来大约2.5G左右。
Cache Name Status Type Config Value Run Value
------------------------------ --------- -------- ------------ ------------
default data cache Active Default 1200.00 Mb 1200.00 Mb
lcdyzd_cache Active Mixed 50.00 Mb 50.00 Mb
lchzd_cache Active Mixed 5.00 Mb 5.00 Mb
lclzd_cache Active Mixed 2.00 Mb 2.00 Mb
lsbzkm_cache Active Mixed 5.00 Mb 5.00 Mb
lshsje_cache Active Mixed 50.00 Mb 50.00 Mb
lshspz_cache Active Mixed 5.00 Mb 5.00 Mb
lshszd_cache Active Mixed 2.00 Mb 2.00 Mb
lsjcsj_cache Active Mixed 2.00 Mb 2.00 Mb
lskmzd_cache Active Mixed 5.00 Mb 5.00 Mb
lspzk1_cache Active Mixed 5.00 Mb 5.00 Mb
lsreco_cache Active Mixed 2.00 Mb 2.00 Mb
lsstru_cache Active Mixed 5.00 Mb 5.00 Mb
lsusgn_cache Active Mixed 2.00 Mb 2.00 Mb
lsussj_cache Active Mixed 2.00 Mb 2.00 Mb
lswlje_cache Active Mixed 10.00 Mb 10.00 Mb
procedure cache size Active Mixed 500.00 Mb 500.00 Mb
tempdb_cache Active Mixed 600.00 Mb 600.00 Mb
------------ ------------
Total 2452.00 Mb 2452.00 Mb
页:
[1]