Plan de formation Chapitre 1 : Présentation de SAP Chapitre 2 : Arrêt et démarrage d’un système SAP Chapitre 3 : Configuration des paramètres SAP Chapitre 4 : La base de données Chapitre 5 : Les différentes mémoires dans SAP Chapitre 6 : Transport d’OTs Chapitre 7 : Support packages, Plug-Ins et Add-Ons Chapitre 8 : Planification de jobs en arrière plan Chapitre 9 : Les impressions Chapitre 10 : Les connexions RFC Chapitre 11 : ITS et ICM : les Clients légers Chapitre 12 : Administration des utilisateurs Chapitre 13 : Autorisations Chapitre 14 : Gestion des mandants Chapitre 15 : Surveillance du système Chapitre 16 : Monitoring avec CCMS Chapitre 17 : Les transactions utiles Chapitre 18 : Accès à l’aide Chapitre 19 : Documents techniques clés 10h30 – 11h20 1
Chapitre 5 : Les différentes mémoires dans SAP Rappels La mémoire virtuelle est composée de la mémoire physique et du swap Sa quantité maximale dépend Des restrictions au niveau hardware L’espace maximal adressable par l’OS (32/64 bits) L’OS gère deux types de mémoire La mémoire locale qui n’est allouée qu’à un processus bien précis La mémoire partagée qui est accessible par plusieurs processus
Chapitre 5 : Les différentes mémoires dans SAP Panorama général Pres. server SAP Application Sever DB Server Table buffer Program buffer SAP Extended Memory Database buffer DDIC Buffer SAP GUI Dispatcher Queue SAP Roll Memory Work Process DB Process dispatcher Work Process DB Process Work Process DB Process
Chapitre 5 : Les différentes mémoires dans SAP Contextes et sessions Chaque session génère la création d’un contexte utilisateur Il existe 2 types de sessions Session externe : ouverte explicitement (par un utilisateur) Session interne : ouverte implicitement (par un programme) Le contexte utilisateur est constitué Des données utilisées dans une transaction De variables, tables internes et listes Les données de contexte sont stockées dans plusieurs zones mémoires SAP Roll Memory SAP Extended Memory SAP Heap Memory
Chapitre 5 : Les différentes mémoires dans SAP SAP Roll Memory Dans la mémoire locale des processus : la Roll Area Le contexte utilisateur en cours d’utilisation par le processus Accessible à ce seul processus Dans la mémoire partagée de SAP : le Roll Buffer Buffer pour stocker temporairement le contexte utilisateur lors d’un switch de process Accessible à tous les processus - ztta/roll_first : First amount of roll area used in a dialog WP - ztta/roll_area : size of the local SAP Roll area in the work process rdisp/ROLL_SHM : size of SAP roll Buffer rdisp/ROLL_MAXFS : size of entire shared SAP roll area
Chapitre 5 : Les différentes mémoires dans SAP Mécanisme de Roll in / Roll out Roll buffer (shared memory) Roll area (local) Roll file (disk) Work Process1 Work Process2 Roll out Roll in Roll in : copie du contexte utilisateur d’un processus vers la mémoire partagée Roll out : copie du contexte utilisateur de la mémoire partagée vers la mémoire spécifique d’un processus
Chapitre 5 : Les différentes mémoires dans SAP SAP Extended Memory Le roll in/roll out du contexte utilisateur peut être pénalisant en termes de performances Or la plupart des transactions SAP comprennent plusieurs écrans qui peuvent donc être traités par des process différents C’est pourquoi le contexte utilisateur ne stocke majoritairement que des pointeurs vers des données située dans une zone mémoire spécifique de la mémoire partagée : l’Extended Memory Le transfert du contexte d’un process local à l’autre en passant par le Roll Buffer est donc beaucoup plus rapide em/initial_size_MB : size of SAP extended memory allocated when the SAP instance starts up em/blocksize_KB : size block which split SAP Extended Memory ztta/roll_extension : maximum size of a user context in the SAP Extended memory
Chapitre 5 : Les différentes mémoires dans SAP SAP Heap Memory abap/heap_area_dia : quotas oh SAP heap memory that a dialog process can allocated. abap/heap_area_nondia : quotas oh SAP heap memory that a nondialog process can allocated. abap/heap_area_total : size that can be allocated in total by all work process. abap/heaplimit : Workprocess restart limit of heap memory Lorsqu’il n’y a plus de mémoire disponible dans l’extended memory ou que l’utilisateur a atteint son quota d’allocation dans l’extended memory Le reste de la mémoire de la Roll Area va être utilisée Si la Roll Area est à son tour allouée complètement, une nouvelle zone en mémoire locale au process est utilisée : la Heap Memory
Chapitre 5 : Les différentes mémoires dans SAP Les différents paramètres impliqués ztta/roll_first: Defines the first part of the roll area that is allocated to a dialog process ztta/roll_area: Defines the total roll area per work process rdisp/roll_SHM: Defines the size of the roll buffer rdisp/roll_MAXFS: Defines the size of roll buffer and roll file em/initial_size_MB: Defines the fixed size of extended memory ztta/roll_extension: Defines the user quota for extended memory abap/heap_area_dia: Defines the limit for the amount of local memory allocated to dialog work processes abap/heap_area_nondia: Defines the limit for the amount of local memory allocated to non-dialog work processes abap/heap_area_total: Defines the limit for the total amount of heap memory allocated to all work processes
Chapitre 5 : Les différentes mémoires dans SAP Zero administration memory management (Windows) ZAMM a été introduit pour limiter la complexité de la configuration des zones mémoires SAP Le principe est le suivant : l’allocation dynamique d’une extended memory quasi infinie. Il suffit de positionner le paramètre PHYS_MEMSIZE qui indique la quantité de mémoire vive mise à disposition de SAP L’extended memory utilisera initialement cette taille Elle augmentera ensuite par pallier de PM / 2 jusqu’à remplir la totalité du pagefile Voir la note Note 88416 - Zero administration memory management as of 4.0A/ Windows http://goo.gl/qfBK4
Chapitre 5 : Les différentes mémoires dans SAP Autres mémoires SAP Paging Memory Données spécifiques à l’exécution de code ABAP pour un utilisateur SAP Buffers Contiennent des objets globaux (programmes, tables bufferisées…) utiles pour tous les utilisateurs et tous les process Utilisés par SAP pour améliorer les performances
Chapitre 5 : Les différentes mémoires dans SAP Les buffers SAP The buffer monitor displays information about buffer and memory usage for the instance where the user is logged on. Statistics are compiled from the time the server is started. the program buffer that contains the compiled SAP Programs the Generic Key buffer that contains the buffered database tables the Single Record buffer that contains records from tables the CUA buffer that contains the menus and buttons from the ABAP screens Plus un serveur est démarré depuis longtemps plus il risque d’y avoir des « traces » de swap Tous les buffers ne sont pas sollicités de la même manière et lorsque l’on fait du tuning et il faut surtout focaliser sur rsdb/ntab/ftabsize rsdb/ntab/entrycount rsdb/ntab/irbdsize abap/buffersize Les modifications de paramètres nécessitent un redémarrage de SAP Montrer les paramètres à l’aide du bouton « Paramètres actuels » To reset buffer /$SYNC - buffers of the application server /$CUA - CUA buffer of the application server /$TAB - the TABLE buffers of the application server /$NAM - the nametab buffer of the application server /$DYNP - the screen buffer of the application server Nametab (NTAB) Buffer contains data derived from tables DDNTT(table definitions) and DDNTF (field descriptions), stored in four individual buffer areas. These four buffers are also known as the Repository buffer or the ABAP Dictionary buffer. TTAB, FTAB, IRBD, SNTAB NTAB: rsdb/ntab/entrycount FTAB: rsdb/ntab/ftabsize SNTAB: rsdb/ntab/sntabsize IRBD: rsdb/ntab/irbdsize The NTAB buffer: If the quality of these buffers falls below 95% , you should try to identify reasons for this decrease in hit ratio. Program Buffer (PXA) abap/buffer_size The program buffer is used for storing ABAP program loads before they are executed within individual work processes. It is also known as the ABAP buffer. The PXA should show hit ratios of 95% or more otherwise you will see, for example a high load and generation time on your SAP instance. Generic Table Buffer The quality of the generic key buffer should be greater than 95% and can be upto 99%. This buffer is also known as the generic key table buffer or the generic buffer. CUA Buffer rsdb/cua/buffersize The CUA buffer stores objects used by SAP GUI, including menus and button definitions. The CUA buffer is also known as the Menu buffer. Usually this buffer plays no significant role concerning the performance of your SAP instance. Roll and Paging Buffers rdisp/ROLL_SHM and rdisp/PG_SHM The parameters rdisp/ROLL_SHM and rdisp/PG_SHM are used to allocate the roll and paging buffer in 8KB blocks. Screen Buffer zcsa/presentation_buffer_area The screen buffer or Dynpro buffer stores generated screens, the so-called Dynpro load. Usually this buffer plays no significant role concerning the performance of your SAP instance. Calendar Buffer zcsa/calendar_area The SAP calendar buffer stores all defined factory and public holiday calendars. OTR Buffer The Online Text Repository (OTR) buffer contains texts used by Business Server Pages, Exception Builder and HTTP Services. Usually this buffer plays no significant role concerning the performance of your SAP instance. Export/Import Buffer The Export/Import buffer is used to store data that must be available to several work process. The system fills or reads the buffers using the ABAP command. EXPORT TO / IMPORT FROM SHARED BUFFER. Usually this buffer is only of interest for individual processes, such as in some SAP APO functions. Exp./Imp.SHM The Export/Import-Shared-Memory-(ESM)-buffer contains data put there by the using the ABAP statement EXPORT TO SHARED MEMORY. This buffer might become a performance bottleneck when you see heavy swapping activity for this buffer. If you see no swaps, the buffer is perfect. Transaction ST02 Viser un hitratio > à 95% Eviter le swap qui se produit quand Il n’y a plus assez de place dans le buffer Il n’y a plus de possibilité d’y enregistrer de nouveaux objets dans son index
Chapitre 5 : Les différentes mémoires dans SAP Les buffers SAP Nametab (NTAB) : Dictionnaire de données ABAP Program Buffer (PXA) : Contient les programmes ABAP CUA Buffer : contient des données utilisées par le SAP GUI (menus, boutons…) Screen Buffer : stocke les définitions d’écran Calendar Buffer : stocke les calendriers OTR Buffer : stocke les textes utilisés par le services HTTP Generic Table Buffer : données des tables bufferisées complètement ou partiellement Single record : données des tables bufferisées à la demande Export/Import Buffer : contient des données qui doivent être mises à disposition de plusieurs work process Exp./Imp.SHM : contient des données placées par la commande ABAP EXPORT TO SHARED MEMORY Roll & Paging Buffers : buffer Roll Area et Paging Area qui servent lors du changement du contexte utilisateur d’un process dialog à l’autre
Chapitre 5 : Les différentes mémoires dans SAP Transactions utiles SM50 / SM66 ST02 RZ10/RZ11
Chapitre 5 : Les différentes mémoires dans SAP Exercice Dans les profils des deux instances AMUE, identifiez les différents paramètres mémoire Quelle est la taille initiale de l’extended memory? Pourquoi? Quelle est la taille de la roll area d’un work process? La taille mémoire d’un work process en comptant la Heap Memory? Que dire des buffers SAP de ces deux instances ?