Använd Oracle ipcs-kommandot för att bestämma delat minne

ett användbart minneskommando som du kan använda för att övervaka Oracle SGA är ipcs-kommandot. Kommandot ipcs visar storleken på varje delat minnessegment för SGA. Om det inte finns tillräckligt med minne för att hela SGA ska passa i ett sammanhängande minne, kommer SGA att byggas i icke-sammanhängande minnessegment. I händelse av en omedelbar krasch kanske minnet inte släpps. Om detta händer dig, notera att kommandot ipcrm tar bort segmenten (ipcrm –m för minnessegment och ipcrm –s för semafor segment). Använd ipcs-b på Solaris och ipcs-a på Linux, HPUX och AIX.

1024_001

i det föregående exemplet är SGA byggt i tre icke-sammanhängande segment (utgör 100M+ SGA). Instansen stängs sedan av och startas med en mindre SGA (så SGA består av angränsande bitar av minne). Efter att SGA har sänkts till 70M, utfärdar jag igen ipcs-kommandot:

1024_002

att montera hela SGA i ett enda delat minnessegment är i allmänhet att föredra på grund av den overhead som kan krävas för att spåra mer än ett segment och den tid som krävs för att växla fram och tillbaka mellan dessa segment. Du kan öka den maximala storleken för ett enda delat minnessegment genom att öka shmmax-inställningen i /etc/systemfilen (eller /etc/sysctl.conf beroende på version). Mer specifik information för din plattform finns i Oracle install-dokumentationen. På Solaris 10 flyttades inställningen för de delade minnesparametrarna till resurskontroll, så om du ändrar /etc/systemfilen ignoreras alla ändringar du gör. Slutligen, om du konfigurerar Enormasidor, då minnet dras från en pool, och semaforer används inte. AMM kräver användning av semaforer, så om du ställer in MEMORY_TARGET kan du inte använda Hugepages.

tips

använd kommandot ipcs för att se om din SGA är byggd med flera icke-sammanhängande minne. En databaskrasch kan göra att detta blir problematiskt genom att inte släppa minnet. Använd kommandot ipcrm (endast om SGA-bitarna inte släpps efter en databaskrasch) för att sedan ta bort SGA-bitarna från minnet. Utfärda inte ipcrm-kommandot med en löpande databas.

Write a Comment

Din e-postadress kommer inte publiceras.