zys780903 发表于 2009-02-13 15:26

请教: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 有限制?
请教高手!!!

WFCJZ 发表于 2009-02-13 22:12

这相应该是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% )

sybase软件服务 发表于 2009-02-13 23:15

32位理论上不支持大于2G的memory,实际好象不支持大于3G的memory,除非使用extend cache,用ipcs -ma看看。
最好还是用64位的。

chuxu 发表于 2009-02-16 08:43

max memory 设置的是多少?

WFCJZ 发表于 2009-02-16 12:50

给sybase 分配16G max memory


好像SYBASE12.5.0.3不支持这么大的内存吧,好像3楼说的,最大支持到2G。

zys780903 发表于 2009-02-21 16:23

谢谢,诸位高手支持!!!
经测试发现
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]
查看完整版本: 请教:sybase 12.5.0.3 for linux无法分配cache