Brug Oracle ipcs-kommando til at bestemme delt hukommelse

en nyttig hukommelseskommando, som du kan bruge til at overvåge Oracle SGA, er ipcs-kommandoen. Ipcs-kommandoen viser størrelsen på hvert delt hukommelsessegment for SGA. Hvis der ikke er nok hukommelse til, at hele SGA kan passe ind i et sammenhængende stykke hukommelse, vil SGA blive bygget i ikke-sammenhængende hukommelsessegmenter. I tilfælde af et øjeblikkeligt nedbrud frigives hukommelsen muligvis ikke. Hvis dette sker for dig, skal du bemærke, at kommandoen ipcrm fjerner segmenterne (ipcrm –m for hukommelsessegmenter og ipcrm –s for semaforesegmenter). Brug ipcs-b på Solaris og ipcs –A på IPCS.

1024_001

i det foregående eksempel er SGA bygget i tre ikke-sammenhængende segmenter (udgør 100M+ SGA). Forekomsten lukkes derefter ned og startes med en mindre SGA (så SGA består af sammenhængende hukommelsesstykker). Efter at SGA er blevet sænket til 70M, udsteder jeg igen ipcs-kommandoen:

1024_002

montering af hele SGA i et enkelt delt hukommelsessegment foretrækkes generelt på grund af den overhead, der kan kræves for at spore mere end et segment, og den tid, der kræves for at skifte frem og tilbage mellem disse segmenter. Du kan øge den maksimale størrelse af et enkelt delt hukommelsessegment ved at øge SHMMAKSINDSTILLINGEN i /etc/systemfilen (eller /etc/sysctl.conf afhængigt af version). Se Oracle installer dokumentation for mere specifikke oplysninger til din platform. På Solaris 10 flyttes indstillingen af de delte hukommelsesparametre til ressourcekontrol, så hvis du ændrer /etc/systemfilen, ignoreres eventuelle ændringer, du foretager. Endelig, hvis du konfigurerer Enormesider, så trækkes hukommelsen fra en pool, og semaforer bruges ikke. AMM kræver brug af semaforer, så hvis du indstiller MEMORY_TARGET, kan du ikke bruge Hugepages.

TIP

brug kommandoen ipcs til at se, om din SGA er bygget ved hjælp af flere ikke-sammenhængende hukommelsesstykker. Et databasekrasj kan få dette til at være problematisk ved ikke at frigive hukommelsen. Brug kommandoen ipcrm (kun hvis SGA-stykkerne ikke frigives efter et databasekrasj) for derefter at fjerne SGA-stykkerne fra hukommelsen. Udsted ikke ipcrm-kommandoen med en kørende database.

Write a Comment

Din e-mailadresse vil ikke blive publiceret.