GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So geben Sie Hugepages aus der abgestürzten Anwendung frei

Manchmal müssen alle Verzeichnisse überprüft werden, in denen hugetlbfs gemountet wurde. Also,

  1. finden Sie das gemountete Verzeichnis mit dem Befehl mount | grep huge .

  2. Überprüfen Sie jedes Verzeichnis, außer besonders /dev/hugepages .

  3. Löschen Sie alle 2M-großen Dateien. (2M ist die Größe einer Hugepage)


Verwenden Sie ipcs -m um die gemeinsam genutzten Speichersegmente aufzulisten. Verwenden Sie ipcrm um die verbleibenden Shared-Memory-Segmente zu entfernen.

Bearbeiten am 24.06.2019:Ok, die obige Antwort war zwar soweit richtig, aber etwas kurz. Insbesondere, wenn Sie einen Host mit mehreren DB-Instanzen haben und nur eine abgestürzt ist, wie können Sie bestimmen, welche (wenn überhaupt) Speichersegmente bereinigt werden sollten?

Nun, auch dies kann getan werden. Verbinden Sie sich für jede laufende Instanz mit / as sysdba , dann oradebug setmypid (Jede PID reicht aus, da alle Oracle-PIDs mit dem SGA verbunden sind). Führen Sie dann oradebug ipc aus . Das wird (hoffentlich) IPC information written to the trace file zurückgeben . Gehen Sie also in das Verzeichnis udump (oder diag_dest) und suchen Sie nach Ihrer Ablaufverfolgungsdatei. Es enthält alle IPC-Informationen für die Instanz. Dazu gehört ShmId . Durchsuchen Sie die Datei nach der/den ShmId(s), die diese Instanz verwendet. Sehen Sie sich nun die Ausgabe von ipcs -m an .

Wenn Sie dies für alle laufenden Instanzen getan haben, wird jedes Speichersegment von ipcs -m ausgegeben das zeigt eine Speicherzuordnung ungleich Null, und das können Sie nicht im oradebug ipc berücksichtigen Informationen von jeder laufenden Instanz müssen die verbleibenden Speichersegmente der abgestürzten Instanz sein. Verwenden Sie ipcrm um es/sie zu entfernen.

Wenn Sie dies auf einem Host mit mehreren laufenden Instanzen tun, kann dies etwas mühsam sein. Bitte gehen Sie vorsichtig vor. Sie möchten die SGA einer laufenden Instanz nicht entfernen!

Hoffe das hilft....


Linux
  1. So durchsuchen Sie das Web vom Terminal unter Linux

  2. Wie füge ich eine Anwendung zum Gnome Window Manager hinzu?

  3. Wie starte ich Icewm von der Befehlszeile aus neu?

  4. Wie führe ich den Vim-Befehl von der Shell aus?

  5. Wie entferne ich das Cache-Gerät aus bcache?

So durchsuchen Sie die Arch-Wiki-Website über die Befehlszeile

So fügen Sie eine Anwendung zum Dock in einem elementaren Betriebssystem hinzu

Wie erkennt man, ob die Shell von ssh aus gesteuert wird?

Wie entferne ich die Bom aus einer UTF-8-Datei?

So aktualisieren Sie Linux Mint auf die neueste Version

Wie erhalte ich die gesamte CPU-Auslastung einer Anwendung aus /proc/pid/stat?