这是操作系统视图,由于内存的延迟垃圾收集/释放,它不是最" />

CDN_网站的建设流程_高性价比

安全 虚拟云 浏览

小编:这是博客系列的第二部分HANA内存使用的细节和变化在SPS12 目前只有"用过的内存"部分是有趣的。您可能听说过"常驻内存"=>这是操作系统视图,由于内存的延迟垃圾收集/释放,它不是最

这是博客系列的第二部分HANA内存使用的细节和变化在SPS12

目前只有"用过的内存"部分是有趣的。您可能听说过"常驻内存"=>这是操作系统视图,由于内存的延迟垃圾收集/释放,它不是最新的值,不能作为指示符。"已用内存"包括:

表数据(行存储+列存储+系统表)代码和堆栈数据库管理/工作空间(堆和共享内存)

##############堆内存##############

内容

栏目存储行存储索引中间结果临时构筑物SAP HANA page cache

您可以用SQL检查每个区域的使用情况(详见注1969700):"HANA\u Memory\u topcumers"(语句调整:搜索术语"modification section"并调整AGGREGATE\u BY='area'):

因此,在CS内主数据后面的第二个大区域是堆内存,大约有200GB(约占已用内存的42%)内存)。这是相当重要的一部分,不是吗?但背后是什么呢?为什么哈娜需要那堆?好的,让我们更深入:

这个语句将col store+heap area的值显示为堆内存。如果你谈论堆,你真正的意思是CS+页面缓存+中间结果+MVCC+增量合并区域。使用正常的内存概述语句,除了阅读本博客或研究大量笔记和指南之外,云数据库比较,您无法确定哪个区域属于同一个区域

要分析的区域是192GB。为了更深入,我们需要另一个语句。

您可以使用SQL"HANA\u Memory\u topcumers\u 1.00.85"检查每个区域的使用情况(语句调整:搜索术语"modification section"并调整"HEAP"区域)

堆的大部分部分都有很好的分配理由,但是还有一个区域叫做"Pool/PersistenceManager/PersistentSpace/DefaultLPA/Page"这个被称为saphana页面缓存。在这个例子中,它是最大的部分,大约有150GB的192GB。它的工作原理类似于unix系统的文件系统缓存。从磁盘检索到的数据将存储在此区域中。这个区域什么时候缩小是系统本身的决定。这可能需要很长时间,直到发生这种情况,分配的内存将被视为"已用内存"。但是,如果其他对象(如表数据或查询中间结果)需要内存,则会重用该内存。在某些情况下,这会加快工作速度,但由于存在错误,在110到122.04版本中,此缓存的大小可能不必要太大。有一个解决方法:2301382–升级到HANA SPS11或更高版本的SPS后,池/PersistenceManager/PersistentSpace/DefaultLPA/Page中的"已用内存"过高

2301382–由于池/PersistenceManager/PersistentSpace/DefaultLPA/Page(Rev。110–122.05)

版次。110–122.01:常规"resman收缩"计划=>我不推荐这个,因为几分钟后(取决于工作负载),云数据库迁移,金融级数据库,分配又高了SAP HANA 122.02–122.05:使用生成的=>达到极限后,云存储空间,将触发自动收缩

!两者都只是权宜之计!=>它可以包含您的性能,因为收缩资源容器可能会从内存中逐出虚拟文件页以外的对象,例如表数据或查询中间结果=>可能导致列存储表卸载

在Rev 122.06中发布了一个工作解决方案。目前,一些客户报告说,尽管修订版更高,但使用率仍然很高。因此:

在较新的版本中,页面缓存大小的增加通常是由其他影响引起的:

SAP注释2427897:由于接管/恢复而增加的页面缓存SAP Note 2403124:优化SAP HANA页缓存使用

以下设置关闭将列表主持久页保留在内存中的优化:

禁用页缓存

LOBs优化

建议在Rev中禁用页缓存。122.05 – 122.16. 因此,请查看note 2600030–SAP HANA环境中的参数建议。

查看可以使用hdbcons的不同区域

在这里,我们可以看到最大的部分是由VirtualFilePage的不同块大小花费的。此功能是用SPS11及更高版本引入的。某些特定类型的持久性页(虚拟文件页)更有可能被添加到HANA页缓存中以提高性能。

您可以看到,VirtualFilePages使用"InternalShortterm"保留,VirtualFileLOBPage使用"Shortterm"保留,这是一种优先级。在需要时从内存中逐出对象的机制将考虑具有比其他对象更高优先级的"InternalShortterm"配置的对象,例如表数据和查询中间结果。在出现任何内存不足(OOM)情况之前,此逐出会自动发生。因此,新的缓存行为不会导致OOM情况。

正如您所见,这一新功能可能会导致"已用内存"增加,华为云服务器,这不是一个问题,但如果大小调整错误并且确实存在问题,则它是不透明的,因为警报也会对服务的80%(默认值)阈值作出反应。在HANA管理员或DBA驾驶舱的概述中,您将看到内存消耗非常高,但不是原因。它还可能导致许可问题,因为这取决于内存使用的峰值。

堆内存中会有碎片吗?当然可以,但通常HANA自己负责垃圾收集。你可以用命令来检查:

可以接受高达15%的碎片。如果您想手动触发GC,可以使用以下命令:

当前网址:http://www.vmchk.com/secaidapei/2021/0612/88868.html

 
你可能喜欢的: