ABAP Memory Inspector 的功能简介

简介: ABAP Memory Inspector 的功能简介

ABAP Memory Inspector 报告运行 ABAP 程序的 Internal Session 使用的内存。


这个工具可以给 ABAP 开发人员揭示以下信息:


  1. 直接归因于 ABAP 应用程序的内存消耗。 这包括 ABAP 程序的静态和动态内存对象中的内存,以及程序在 ABAP 堆栈上使用的内存。


  1. 整个内部会话针对主机操作系统的内存分配。 这包括 ABAP 内存消耗以及 ABAP 运行时(ABAP Runtime)和内部会话管理消耗的相对较小的内存量。


内存检查器总是在拍摄快照之前运行 ABAP 垃圾收集器,这样 dead 内存对象就不会干扰 ABAP Memory Inspector 采集的内存消耗数据。


换言之,在使用 ABAP Memory Inspector 之前,不需要显式调用 CL_ABAP_MEMORY_UTILITIES 的 DO_GARBAGE_COLLECTION 方法:

529c764f8ca30d2a7e3d73ba80e4308b.png

也不需要在调试器里,显式使用 Start Garbage Collector 进行内存回收:

1153113305ca03e6604fcd2c783c6576.png

一般而言,尤其是因为运行内部会话的开销很小,所以在分析内存问题时只有 ABAP 应用程序的内存才是重要的。 作为开发人员,我们在任何情况下都只能影响 ABAP 程序的内存消耗,而不能影响运行时系统的内存消耗。


在 ABAP 内存对象的类型中,最有可能导致问题的是动态内存对象。 动态内存对象是那些大小可以随着程序运行而改变的对象。 它们包括以下类型的 ABAP 实体:


  • 内部表(或者更确切地说,内部表中的行,它的主体)


  • 字符串


  • 类对象(由 CREATE OBJECT 语句创建的对象)


  • 匿名数据对象(由 CREATE DATA 语句创建的对象)


  • Boxed Component


用于访问动态内存对象的变量包含对内部内存结构的引用,其中保存了动态内存对象的数据。 因此,动态内存对象的变量统称为引用变量。


在 ABAP 中,我们通常将引用的程序实体称为 deep Component,这是一种其内容必须通过引用的 evaluation 来访问的组件。

相关文章
|
6月前
|
数据库
如何通过增强(Enhancement)的方式,给 ABAP Function Module 增添新的功能试读版
如何通过增强(Enhancement)的方式,给 ABAP Function Module 增添新的功能试读版
|
6月前
|
开发工具 Web App开发 IDE
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
|
6月前
|
监控 安全 测试技术
SAP ABAP 系统 STRUST 事务码里 Distribute 功能介绍
SAP ABAP 系统 STRUST 事务码里 Distribute 功能介绍
|
SQL 数据库
使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误试读版
使用 SAP ABAP Memory Inspector 对应用程序消耗内存进行检测时常犯的错误试读版
什么是 ABAP 编程语言的 Used Memory 和 Allocated Memory
什么是 ABAP 编程语言的 Used Memory 和 Allocated Memory
ABAP Memory Inspector 里对动态内存对象的内存消耗度量方式
ABAP Memory Inspector 里对动态内存对象的内存消耗度量方式
学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能试读版
学会使用 SAP ABAP Application Log 在代码里添加应用日志记录功能试读版
|
测试技术 数据库
SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版
SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)试读版
|
6月前
|
前端开发 开发工具 Android开发
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
小技巧分享 - 使用 Visual Studio Code 查看和修改 ABAP 代码试读版
|
6月前
|
BI
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示
工具分享 - 将一个 ABAP Function Group 内所有 Function Module 按照代码行数从高到低排序并显示