如果你的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=<profile>来检查一下是否有错,否则系统 是起不来的。 2. 如果又设置了大的Oracle SGA/PGA,或者有超过200的用户要同时使用,你的系统 就会大量使用虚拟内存,OS swaping是很毁系统性能的,你可能需要更多的内存。< xmlnamespace prefix ="v" ns ="urn:schemas-microsoft-com:vml" />< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
SAP ECC6.0内存参数调整和调优
2020-11-30 09:56:47
浏览数 (1)