Utilizați comanda Oracle ipcs pentru a determina memoria partajată

o comandă de memorie utilă pe care o puteți utiliza pentru a monitoriza Oracle SGA este comanda ipcs. Comanda ipcs afișează dimensiunea fiecărui segment de memorie partajată pentru SGA. Dacă nu există suficientă memorie pentru ca întregul SGA să se potrivească într-o bucată de memorie contiguă, SGA va fi construit în segmente de memorie necontigue. În cazul unui accident instantaneu, este posibil ca memoria să nu fie eliberată. Dacă vi se întâmplă acest lucru, rețineți că comanda ipcrm elimină segmentele (ipcrm –m pentru segmentele de memorie și ipcrm –s pentru segmentele semaforului). Utilizați ipcs-B pe Solaris și ipcs-a pe Linux, HPUX și AIX.

1024_001

în exemplul precedent, SGA este construit în trei segmente necontigue (alcătuind 100m+ SGA). Instanța este apoi închisă și pornită cu un SGA mai mic (deci SGA este alcătuit din bucăți de memorie contigue). După ce SGA a fost redus la 70M, emit din nou comanda ipcs:

1024_002

montarea întregului SGA într-un singur segment de memorie partajată este, în general, preferabilă din cauza cheltuielilor generale care pot fi necesare pentru a urmări mai multe segmente și a timpului necesar pentru a comuta înainte și înapoi între acele segmente. Puteți mări dimensiunea maximă a unui singur segment de memorie partajată prin creșterea setării SHMMAX în fișierul /etc/system (sau /etc/sysctl.conf în funcție de versiune). Consultați documentația de instalare Oracle pentru informații mai specifice pentru platforma dvs. Pe Solaris 10, setarea parametrilor de memorie partajată sa mutat la controlul resurselor, deci dacă modificați fișierul /etc/system, orice modificări pe care le faceți sunt ignorate. În cele din urmă, dacă configurați Imenspagini, atunci memoria este trasă dintr-o piscină, iar semafoarele nu sunt utilizate. AMM necesită utilizarea semafoarelor, deci dacă setați MEMORY_TARGET, nu puteți utiliza Hugepages.

sfat

utilizați comanda ipcs pentru a vedea dacă SGA-ul dvs. este construit folosind mai multe bucăți de memorie necontigue. Un accident de bază de date poate face ca acest lucru să fie problematic prin faptul că nu eliberează memoria. Utilizați comanda ipcrm (numai dacă piesele SGA nu sunt eliberate după un accident de bază de date) pentru a elimina apoi piesele SGA din memorie. Nu emiteți comanda ipcrm cu o bază de date care rulează.

Write a Comment

Adresa ta de email nu va fi publicată.