故障和自旋锁争用> 80%

2020-08-19 13:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们有一台RHEL 7.7计算机,具有1.9TB RAM,32个(双核)处理器,4K页面大小(默认)和配置的大页面501760(2048 KB),用于分配共享内存。

在数据服务器部分,我们使用16.0 SP03 PL04(页面大小为16K),数据库为11TB(压缩为3.8TB),通过最大内存配置的总内存为900GB,syb_default_pool上有50个线程,全局高速缓存分区 为128,采用严格的LRU策略,APF为10,最大缓冲池为128K。

默认数据缓存的大小为5 GB(16K-2000 MB,32 K-1500 MB,128K-1500 MB)
billing_data_cache的大小为600 GB(16K-350000 MB,128K-250000 MB)

观察1::启动数据服务器后,我们注意到了次要和主要故障,同时在默认数据高速缓存上注意到80%的自旋锁争用。

观察2:当我们从数据库中执行存储过程时-Billing(绑定到billing_data_cache),次要故障在增加,几乎没有主要故障,这是中等程度的(肯定要消除这种情况) ),同时默认数据缓存上的自旋锁争用,IDES自旋锁争用超过80%,有时超过85%。

我们尝试将开放索引哈希自旋锁比率从100设置为50,但问题仍然存在。 请提供您宝贵的意见和建议。

注意:我们正处于测试阶段,希望在上线之前解决此问题,因为在实时环境中,我们有并行的作业,并且由于以下原因,我们不想以时间片和堆栈跟踪结尾 这些错误和争执在高峰时段。

关于,
Dilip Voora

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们有一台RHEL 7.7计算机,具有1.9TB RAM,32个(双核)处理器,4K页面大小(默认)和配置的大页面501760(2048 KB),用于分配共享内存。

在数据服务器部分,我们使用16.0 SP03 PL04(页面大小为16K),数据库为11TB(压缩为3.8TB),通过最大内存配置的总内存为900GB,syb_default_pool上有50个线程,全局高速缓存分区 为128,采用严格的LRU策略,APF为10,最大缓冲池为128K。

默认数据缓存的大小为5 GB(16K-2000 MB,32 K-1500 MB,128K-1500 MB)
billing_data_cache的大小为600 GB(16K-350000 MB,128K-250000 MB)

观察1::启动数据服务器后,我们注意到了次要和主要故障,同时在默认数据高速缓存上注意到80%的自旋锁争用。

观察2:当我们从数据库中执行存储过程时-Billing(绑定到billing_data_cache),次要故障在增加,几乎没有主要故障,这是中等程度的(肯定要消除这种情况) ),同时默认数据缓存上的自旋锁争用,IDES自旋锁争用超过80%,有时超过85%。

我们尝试将开放索引哈希自旋锁比率从100设置为50,但问题仍然存在。 请提供您宝贵的意见和建议。

注意:我们正处于测试阶段,希望在上线之前解决此问题,因为在实时环境中,我们有并行的作业,并且由于以下原因,我们不想以时间片和堆栈跟踪结尾 这些错误和争执在高峰时段。

关于,
Dilip Voora

付费偷看设置
发送
8条回答
粗暴的香蕉
1楼-- · 2020-08-19 13:56

如果您在ASE中看到主要的页面错误,我认为您不会使用大页面。

Linux中的大页面无法按定义交换出去,因此,我假设ASe如果确实使用了大页面内存,则无法交换。

尝试设置"启用大页面" = 2

如果ASE由于任何原因无法使用"大页面",它将无法启动。

如果您仍然看到主要的页面错误-尽管实际上使用的是"大页面",则我假设ASE中的错误消息有很多错误。

对于ASE中的自旋锁争用:

上有一篇非常好的文章

https://wiki.scn.sap.com/wiki/display/SYBASE/Spinlocks+and+CPU+usage+in+SAP+ASE

另请参阅SAP注释

2452954-SYB:在SAP ASE中捕获诊断自旋锁争用

启动一个存储过程后立即看到自旋锁争用似乎真的很奇怪。 自旋锁争用仅在大规模并行活动中发生。 所以我想还有其他事情发生。

诚心诚意地
Tilman

d56caomao
2楼-- · 2020-08-19 14:07

是否将"默认数据缓存"配置为使用"松弛"缓存替换策略?

,应始终将"默认数据缓存"配置为使用"严格"缓存替换策略。

注意:尽管从技术上讲,可以将"默认数据缓存"设置为使用"宽松"缓存替换 策略...和 sp_sysmon 可能会在(相对)安静的系统上建议这样的设置..."默认数据缓存"中发生的事情太多,无法使用"松弛"的缓存替换策略来证明

四川大学会员
3楼-- · 2020-08-19 13:49

Tilman,我们将参数设置为2,并引用了您指定的文章。 现在,我们将研究您提供的SAP注释,并进一步告知您。

Climb_Ma
4楼-- · 2020-08-19 14:12

Ben,我们将此参数设置为2,我们清楚地看到了"使用大页面分配内存"的消息。 启动时。

标记,对于DDC来说,它是严格的LRU。

吹牛啤
5楼-- · 2020-08-19 13:55

当我们并行处理到位时,我们发现争用持续> 80%,次要和主要故障(次要是大量的) 我们高度怀疑此节点完全存在一些问题,并计划在第二个节点中进行测试。


还有谁能帮助我们澄清以下内容,

1。我们实际上无法避免小错误,可以忽略它们吗?
原因:进程使用内存中已经可用的数据(由第一个进程购买),而不是从磁盘中拉出并因此从页面中拉出 列表已更新。
2.如何计算争用,非常清楚地使用等待,旋转和抢夺(可能会有一个较小的示例会有所帮助)?

shere_lin
6楼-- · 2020-08-19 14:07

我假设分页和 错误的是您正在谈论出现在ASE内部(例如从sp_sysmon)。 它会显示在操作系统监视工具中吗?

是否在ASE中设置了"分配最大共享内存"? (在启动时分配所有内存,而不是按需分配)

回复:当我们从数据库执行存储过程时

,ASE中什么都没发生? 只是这个存储的proc执行?

一周热门 更多>