如果你的SAP跑在Windows环境下,SAP是建议“零内存 管理”的,我在AIX,Solaris和Linux下都跑过SAP,控制ST02的参数还是需要手工调的。如果你双 击带红的行,然后选“Current Parameter”键,SAP会告诉你哪个参数来调这一行缓冲区。我个人 以为,如果想成为SAP Basis性能调试高手,你必须钻进ST02的细节中去了解每一行都是干什么 的,受什么影响,又如何影响性能。SAP在线帮助“SAP Memory Management”是我研究这一领域的 基础文献,读了不下20遍,等你吃透了,你就可以和SAP争论他的GoLive Check报告了。象你这 ST02的状态,我认为EWA或者GoLive报告应该能给你正确的建议的。

分析一下:

首先,你需要查每个Buffer的历史,来看到底是空间不够,还是FreeEntry不够。

1. Field Definitiion

我估计是空间不足,参数rsdb/ntab/ftabsize现在是60000,建议改到80000或100000

2. Initial records

通常情况下是由于FreeDictionaryEntry不足,你现在的7500是由rsdb/ntab

/entrycount=30000决定的(除四),建议你把这参数调到60000

3. program

600MB的ABAP程序缓冲对于ECC系统来说有些小了,建议把abap/buffersize从600000调整到

1024000(1GB)。

4. CUA

建议把rsdb/cua/buffersize调整到20000

5. Screen

建议把zcsa/presentation_buffer_area从20000000调整到30000000,sap/bufdir_entries从

10000调整到5000(原设定有些大,不盖也无所谓)

6. Generic Key

建议把zcsa/table_buffer_area从100000000调整到200000000,zcsa/db_max_buftab从10000

调整到20000。这对参数对你系统性能的影响挺大的,尽量不要让它红。

7. Export/import

建议把rsdb/obj/buffersize从40000调整到100000。

除此之外,我认为SAP的em/initial_size_MB=7189是合理的,只不过不是用来解决你的红色的问

题罢了。如果你的机器内存允许,我认为应当按建议设置。当然你还需要调整 ztta_roll_extension* 和 abap/heap_area*参数来控制每一Work Process所能消耗的内存,既要让它跑,又要防止它把内存都吃了,需要根据你的ECC Workload的特点来调整。

最后有两点提醒:

1. 改完参数后,一定要到OS上用sappfpar check pf=来检查一下是否有错,否则系统

是起不来的。

2. 如果又设置了大的Oracle SGA/PGA,或者有超过200的用户要同时使用,你的系统

就会大量使用虚拟内存,OS swaping是很毁系统性能的,你可能需要更多的内存。

转载于SAP学习门户网,原文链接:http://www.sap6.com/learn/basis/073503122015/3039.html

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply