GNU/Linux >> Linux Esercitazione >  >> Linux

Come rilasciare le pagine enormi dall'applicazione bloccata

A volte è necessario controllare tutte le directory in cui è stato montato hugetlbfs. Quindi,

  1. trova la directory montata con il comando mount | grep huge .

  2. controlla ogni directory tranne in particolare /dev/hugepages .

  3. eliminare tutti i file di dimensioni 2M. (2M è la dimensione di hugepage)


Usa ipcs -m per elencare i segmenti di memoria condivisa. Usa ipcrm per rimuovere i segmenti di memoria condivisa rimanenti.

Modifica il 24/06/2019:Ok, quindi, la risposta sopra, sebbene corretta per quanto va, è stata un po 'breve. In particolare, se disponi di un host con più istanze database e solo una si arresta in modo anomalo, come puoi determinare quali (se presenti) segmenti di memoria devono essere ripuliti?

Ebbene, anche questo si può fare. Per ogni istanza in esecuzione, connettiti con / as sysdba , quindi esegui oradebug setmypid (qualsiasi pid andrà bene, poiché tutti i PID Oracle si connettono all'SGA). Quindi esegui oradebug ipc . Ciò restituirà (si spera) IPC information written to the trace file . Quindi, vai nella directory udump (o diag_dest) e cerca il tuo file di traccia. Conterrà tutte le informazioni IPC per l'istanza. Questo includerà ShmId . Cerca nel file gli ShmId utilizzati da questa istanza. Ora guarda l'output di ipcs -m .

Dopo averlo fatto per tutte le istanze in esecuzione, qualsiasi segmento di memoria emesso da ipcs -m che mostra un'allocazione di memoria diversa da zero e che non puoi spiegare nel oradebug ipc informazioni da qualsiasi istanza in esecuzione, devono essere i segmenti di memoria rimasti dall'istanza in crash. Usa ipcrm per rimuoverlo/i.

Quando si esegue questa operazione su un host con più istanze in esecuzione, questo può essere un po' complicato. Si prega di procedere con cautela. Non vuoi rimuovere l'SGA di un'istanza in esecuzione!

Spero di esserti stato d'aiuto....


Linux
  1. Come cercare nel Web da terminale su Linux

  2. Come rilevare se la shell è controllata da Ssh?

  3. Come rimuovere la Bom da un file Utf-8?

  4. Come eseguire il comando Vim dalla shell?

  5. Come limitare l'utilizzo della memoria dell'applicazione?

Come cercare nel sito Web Arch Wiki dalla riga di comando

Come aggiungere un'applicazione al Dock nel sistema operativo elementare

Come aggiornare Linux Mint all'ultima versione

Come posso ottenere l'utilizzo totale della CPU di un'applicazione da /proc/pid/stat?

Come rimuovo il dispositivo cache da bcache?

Come ottengo il mio indirizzo IP dalla riga di comando?