`
JerryWang_SAP
  • 浏览: 263233 次
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论
阅读更多
培训者:SAP成都研究院开发人员Jerry Wang
 
1. Understanding Memory Objects in ABAP Note1: DATA itab WITH HEADER LINE for processing individual table rows have short forms that implicitly use the header line as work area. These short forms are allowed only outside of ABAP Objects. /SF0A0001/ANONYMOUS 495142
 
2. Use Reference to Access Memory Object ABAP里引用的用法
 
3. ABAP和很多其他语言一样,支持写时拷贝: As internal tables and strings can become very large, the copy operation may be quite time-consuming. On the other hand, the copy operation is only necessary if a modification is made via one of the references, which is NOT always the case. For this reason, ABAP runtime delays the copy operation until a modification is actually made. These object types (internal tables and strings) keep track of the number of references that point to them, which is referred to as “reference counting.” 4. 写时拷贝的工作原理
 
5. ABAP的内存管理之内存清理 内存释放关键字CLEAR,REFRESH和FREE的区别:
 
6. ABAP引用类型的内存分配
 
7. ABAP字符串(String)类型的内存分配
 
8. ABAP内存垃圾回收器的工作原理
 
9. ABAP内存垃圾回收的实现算法
 
10. ABAP垃圾回收机制的触发时机
 
11. ABAP垃圾回收的手动触发,请谨慎使用
 
12. 更多关于引用类型的变量在ABAP垃圾回收算法中的影响
 
13. ABAP bound memory的含义 the sum of the size of the memory object and the bound memory of all DIRECT children that are table bodies or strings with a reference count of one. Upon deleting the memory object, the bound memory is the minimum amount of memory that is released, and the referenced memory is the maximum amount that can be released. Therefore, the amount of memory that is actually released is somewhere between these two values. 14. ABAP内存预分配算法(preallocation mechanism)介绍
 
15. ABAP已分配内存和已使用内存的区别 For internal tables and strings, ABAP runtime environment uses a preallocation mechanism that automatically reserves some EXTRA storage when the memory object is created to allow for potential growth. It avoids many allocation and deallocation operations. Otherwise, ABAP runtime environment would have to allocate new storage every time the memory object grows. Due to this preallocation mechanism, both internal tables and strings also have “allocated memory” and “used memory” values as memory sizes. Allocated memory is the amount of memory that is set aside for the memory object. Used memory is the current size of the memory object used by the application. For class objects and anonymous data objects, used memory and allocated memory are the same. Because their size is fixed, they don’t require additional space to accommodate growth. 16. ABAP程序内存消耗的尺寸计算介绍
 
17. 什么是ABAP内存分配中的SCC - strongly connected component - 强连通组件
 
 
18. 有用的ABAP内存分析和调优工具,事务码S_MEMORY_INSPECTOR
 
19. 具体例子,您知道下面这段代码,新生成的引用类型的变量,内存是从哪里分配的?堆?不完全对。
 
 
Logging on to an application server opens a user session. A user session is assigned its own memory area of the SAP memory, in which SPA/GPA parameters can be stored. For every user session , a main session ( external session ) can be opened. Each main session is assigned its own memory area of ABAP memory ( EXPORT --- IMPORT ) rdisp/max_alt_modes Each call of an ABAP program creates a new internal session, in which the called program is loaded.
 
20. 什么是ABAP程序的PXA - Program Execution Area
 
21. ABAP程序的用户上下文 - User Context
 
22. 什么是ABAP的工作进程
 
23. ABAP工作进程的内存虚拟地址空间和物理地址空间的映射
 
Roll Area: Memory area with a set (configurable) size that belongs to a work process. For technical reasons, the roll area is always the first memory available to use for a work process. Only afterwards can extended memory be requested. When the context of a work process changes, the data is copied from the roll area to a common resource known as the roll file. To prevent repeated copying, another roll buffer is located in between, which is part of the shared memory Paging area: Allocation of memory for the current internal session by transferring pages out of memory, similarly to operating system paging. SAP's memory management concept currently limits SAP Paging to cases where the ABAP commands EXTRACT and EXPORT... TO MEMORY... are used. Private memory: If the extended memory is fully occupied, or the limit for the work process has been exceeded, private memory is assigned to the work process. This is known as private memory because it is specific to the process, and the user context can no longer be processed by a different work process (PRIV mode). ABAP扩展内存 - extended memory User context is stored in the extended memory (EM) to enable fast context change . Depending on the operating system, how SAP implements EM addressing/mapping is different. When the context is changed, the user context is not copied as with the roll area. Instead it is allocated to alternating work processes by mapping operations which results in a faster context change because less data is copied and mapping an extended area is not work-intensive. The result is low CPU usage and shorter access times. SAP dispatcher is responsible for the following principle tasks: 1. Initialization, reading profile parameters, starting work processes and logging on to the message server 2. Evenly distributing the transaction load across work processes 3. Connecting to the GUI layer 4. Organizing communication processes 这道题的答案:
 
The roll area consists of two segments. The first segment, which can be set with the parameter ztta/roll_first, is assigned to the work process first as memory. If this is used up, the work process has more memory assigned to it. The amount of memory is determined by the difference between the ztta/roll_area and ztta/roll_first parameters. 正确答案,不能一概而论,有三种情况。 情况1: Roll area: if ( roll_current_area + request size <= roll_area ) 情况2: Extended memory: if ( roll_current_area + request size > roll_area ) AND ( extend memory is not full ) 情况3: Private memory: if ( roll_current_area + request size > roll_area ) AND ( extend memory is full ) 要获取更多Jerry的原创文章,请关注公众号"汪子熙":
 
0
0
分享到:
评论
相关资源推荐
  • SAP专家培训Netweaver ABAP内存管理内存调优最佳实践 培训者:SAP成都研究院开发人员Jerry Wang 1. Understanding Memory Objects in ABAP Note1: DATA itab WITH HEADER LINE for processing individual table rows have short forms that implicitly use the header line as work ...
  • sap 内存优化 sap 内存优化
  • SAP.NetWeaver.7.01 SAP.NetWeaver.7.01
  • SAP NetWeaver 7.3 安装向导 SAP NetWeaver 7.3 安装向导
  • 内存管理SAPABAP内存)缓存设定以及程序memory管理等
  • SAP内存ABAP内存的简单介绍说明 在编写程序的过程中不同的程序之间经常需要相互传值,SET / GET PAREMETER 和 IMPORT / EXPORT 是SAP 提供的两种方式。前者的值是放在SAP内存,后者是放在ABAP内存。这两种内存的主要的区别就是作用范围了,SAP内存是对当前登录所有会话都可以访问到的,除非用户退出系统不然在整个登录期间都有效。ABAP内存只是针对一个会话,你用哪个会话设置的那么就只能在当前的会话才
  • NetWeaver ABAP Basis和J2EE提供的中间件服务的比较
  • ABAP Development for SAP HANA Contents Foreword ...................................................................................... 15 Preface .......................................................................................... 17 Introduction ................................................................................. 19 PART I Basic Principles 1 Overview of SAP HANA ................................................ 29 1.1 Software Components of SAP HANA .............................. 29 1.1.1 SAP HANA Database ......................................... 31 1.1.2 SAP HANA Studio ............................................. 31 1.1.3 SAP HANA Client .............................................. 33 1.1.4 SAP HANA Function Libraries ........................... 34 1.1.5 Software for Data Replication ............................ 34 1.1.6 Software for Direct Data Access ........................ 35 1.1.7 Lifecycle Management Components .................. 36 1.2 Basic Principles of In-Memory Technology ..................... 37 1.2.1 Hardware Innovations ....................................... 37 1.2.2 Software Innovations ......................................... 41 1.3 Architecture of the In-Memory Database ....................... 51 1.4 Application Cases for SAP HANA ................................... 53 1.5 How SAP HANA Affects Application Development ........ 56 1.5.1 New Technical Options ..................................... 56 1.5.2 Code Pushdown ................................................ 57 1.5.3 Database as Whitebox ....................................... 59 1.5.4 Required Qualifications for Developers ............. 61 2 Introducing the Development Environment ................. 63 2.1 Overview of Eclipse ....................................................... 63 2.2 SAP’s Eclipse Strategy .................................................... 66 2.2.1 Unbundling of Eclipse and SAP Software ........... 67 2.2.2 Central Update Site ........................................... 67 2.3 Installing the Development Environment ....................... 69 2.3.1 Installing SAP HANA Studio .............................. 69 8 Contents 2.3.2 Installing the ABAP Development Tools for SAP NetWeaver ................................................. 70 2.4 Getting Started in the Development System ................... 72 2.4.1 Basic Principles of Eclipse .................................. 72 2.4.2 ABAP Development Tools for SAP NetWeaver ... 75 2.4.3 SAP HANA Studio ............................................. 85 3 Database Programming Using SAP NetWeaver AS ABAP ........................................................................ 103 3.1 SAP NetWeaver AS ABAP Architecture .......................... 105 3.1.1 Database Interface ............................................ 107 3.1.2 Role of the Database for the ABAP Application Server ............................................. 109 3.1.3 Data Types ........................................................ 110 3.2 ABAP Database Access .................................................. 116 3.2.1 ABAP Data Dictionary ....................................... 117 3.2.2 Open SQL ......................................................... 122 3.2.3 Database Views in the ABAP Data Dictionary .... 132 3.2.4 Database Access via Native SQL ........................ 133 3.2.5 Secondary Database Connections ...................... 139 3.3 Analyzing Database Accesses Using the SQL Trace ......... 143 3.3.1 Statement Transformations ................................ 143 3.3.2 Secondary Connections ..................................... 150 3.3.3 Native SQL ........................................................ 151 3.3.4 Buffer ................................................................ 152 PART II Introduction to ABAP Programming with SAP HANA 4 View Modeling in SAP HANA Studio ........................... 157 4.1 Attribute Views ............................................................. 160 4.1.1 Basic Principles ................................................. 161 4.1.2 Creating Attribute Views ................................... 164 4.1.3 Calculated Fields ............................................... 172 4.1.4 Hierarchies ........................................................ 174 4.1.5 Attribute Views for Time Values ........................ 176 9 Contents 4.1.6 Runtime Artifacts and SQL Access for Attribute Views ................................................. 179 4.2 Analytic Views ............................................................... 180 4.2.1 Basic Principles ................................................. 181 4.2.2 Creating Analytic Views ..................................... 183 4.2.3 Calculated Key Figures ...................................... 186 4.2.4 Currency Conversion and Unit Conversion ........ 187 4.2.5 Runtime Artifacts and SQL Access for Analytic Views .................................................. 191 4.3 Calculation Views .......................................................... 192 4.3.1 Basic Principles ................................................. 193 4.3.2 Graphical Modeling of Calculation Views .......... 195 4.3.3 Implementing Calculation Views via SQLScript .......................................................... 197 4.3.4 Runtime Artifacts and SQL Access for Calculation Views .............................................. 202 4.4 Accessing Column Views via Microsoft Excel .................. 203 4.5 Using SAP HANA Views in ABAP ................................... 205 4.5.1 Access via Native SQL ....................................... 205 4.5.2 External Views in the ABAP Data Dictionary ...... 207 4.5.3 Options for Accessing External Views ................ 210 4.5.4 Recommendations ............................................ 211 5 Programming Options in SAP HANA ............................ 215 5.1 Overview of SQLScript ................................................... 215 5.1.1 Qualities of SQLScript ....................................... 216 5.1.2 Processing SQLScript ......................................... 222 5.2 Implementing Database Procedures ............................... 223 5.2.1 Basic Principles of Database Procedures ............ 223 5.2.2 Creating Database Procedures ........................... 225 5.2.3 Using Variables .................................................. 237 5.2.4 Calculation Engine Plan Operator ..................... 239 5.2.5 Imperative Enhancements ................................. 250 5.2.6 Accessing System Fields .................................... 252 5.2.7 Error Handling ................................................... 254 5.3 Using Procedures in ABAP ............................................. 255 5.3.1 Access Using Native SQL ................................... 256 10 Contents 5.3.2 Defining Database Procedure Proxies ................ 263 5.3.3 Calling Database Procedure Proxies ................... 265 5.3.4 Adjusting Database Procedure Proxies ............... 267 6 Application Transport ................................................... 269 6.1 Basic Principles of the Transport System ......................... 271 6.1.1 Transport in SAP NetWeaver AS ABAP .............. 271 6.1.2 Transport in SAP HANA ..................................... 276 6.2 Combined ABAP/SAP HANA Transport .......................... 285 6.2.1 HANA Transport Container ................................ 286 6.2.2 Enhanced Transport System ............................... 292 7 Runtime and Error Analysis with SAP HANA ............... 293 7.1 Overview of the Tools Available ..................................... 294 7.2 Error Analysis ................................................................. 296 7.2.1 Unit Tests .......................................................... 296 7.2.2 Dump Analysis .................................................. 299 7.2.3 Tracing in SQLScript .......................................... 301 7.2.4 Debugging SQLScript ........................................ 302 7.3 ABAP Code Analysis ...................................................... 305 7.3.1 Checks and Check Variants ................................ 305 7.3.2 Checks in the Development Infrastructure ......... 309 7.3.3 Global Check Runs in the System ...................... 311 7.4 Runtime Statistics and Traces ......................................... 313 7.4.1 Runtime Statistics .............................................. 314 7.4.2 ABAP Trace and ABAP Profiler ........................... 318 7.4.3 SQL Trace ......................................................... 326 7.4.4 Single Transaction Analysis ............................... 330 7.4.5 Explain Plan ...................................................... 331 7.4.6 SAP HANA Plan Visualizer ................................ 333 7.5 System-Wide SQL Analyses ............................................ 337 7.5.1 DBA Cockpit .................................................... 338 7.5.2 SQL Monitor .................................................... 342 7.6 SQL Performance Optimization ...................................... 346
  • SAPNetWeaver的WebDynpro系列————WebService服务器端的配置
  • SAP ECC6.0内存参数调整和调优 如果你的SAP跑在Windows环境下,SAP是建议“零内存 管理”的,我在AIX,Solaris和Linux下都跑过SAP,控制ST02的参数还是需要手工调的。如果你双 击带红的行,然后选“Current Parameter”键,SAP会告诉你哪个参数来调这一行缓冲区。我个人 以为,如果想成为SAP Basis性能调试高手,你必须钻进ST02的细节中去了解每一行都是干什么 的,受什么影响
  • SAPNetWeaver的WebDynpro系列————控制层和业务层数据的交互
  • SAP内存/ABAP内存/共享内存区别(收集来的) (1)、读取和使用方法不同 SAP内存使用SET/GET parameters方法; SET PARAMETER ID 'MAT' field p_matnr. GET PARAMETER ID 'MAT' field p_matnr. ABAP内存使用EXPORT 和IMPORT  方法; export p_matnr = p_matnr to memory id 'ZTESTMA
  • 布署web工程到sap netweaver application server java所遇问题及解决方案 布署web工程到sap netweaver application server java 异常:1JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC' JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [sapjcorfc (Not found in java.library.path
  • SAP Netweaver In Real World SAP, ABAP, Netweaver
  • 如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里 我们在用ABAP代码消费外网的url时会遇到一些异常,比如ICM_HTTP_SSL_PEER_CERT_UNTRUSTED,这是因为请求的url所在的网站的SSL Server certificate没有导入到Netweaver系统。 本文介绍导入的详细步骤。 基本思路就是两步: 从网站上导出certificate链到本地 将本地导出的certificate导入到Netweaver 第一步:浏...
  • ABAP 测试题 参考
  • SAP NetWeaver ABAP and Adobe Forms SAP NetWeaver ABAP and Adobe Forms
  • Sap NetWeaver CE7.1如何统计在线用户 1.      用管理员进入NWA控制台,选择Java System Report功能。 2.      下拉框选择MonitorBrowser,选择SAP实例名下的Kernel/Session Manager/LoginedInUsersTable。 3.      选择Configuration面板,选择Edit Configuration Group,设置Period时间为1,并
  • 入门推荐--2013年最新SAP ECC6 ABAP培训视频教程 项目实战课程 26课 这个ABAP培训是自学ABAP不错的入门及技术提升课程,不可多得的优质课程。 2013年最新SAP ABAP培训26课 授课视频录像和音质整体均清晰,讲解精细,课程内容老师由浅入深讲解课程,通俗易懂,适合作为刚入门的ABAP学员学习,也可以作为提高课程用,26课ABAP视频总时间约75小时.附有网盘下载地址,大家可以先了解。
  • SAP系统ABAP视频教程,40g 40G的ABAP教程视频,ABAP从入门到精通,帮助你快速成为ABAP顾问!
Global site tag (gtag.js) - Google Analytics