Wie man riesige Seiten von der abgestürzten Anwendung freigibt

9

Ich habe eine Anwendung, die riesige Seite verwendet und die Anwendung plötzlich wegen eines Fehlers abgestürzt ist. Nach dem Absturz, da die Anwendung die rigipage nicht korrekt freigibt, wird die freie rugpage-Nummer im sys-Dateisystem nicht erhöht.

%Vor%

Gibt es eine Möglichkeit, die riesigen Seiten mit Gewalt zu veröffentlichen?

    
jaeyong 04.12.2013, 03:22
quelle

5 Antworten

1

HugeTLB kann entweder für Shared Memory verwendet werden (und Mark J. Bobaks Antwort würde damit umgehen) oder die in einem hugetlb-Dateisystem erstellten app mmaps-Dateien. Wenn die App abstürzt, ohne diese Dateien zu entfernen, überleben sie und behalten den entsprechenden Speicher "allokiert".

Überprüfen Sie das hugeTLB-Dateisystem und sehen Sie nach, ob es irgendwelche übrig gebliebenen Dateien aus der App gibt. Wenn Sie sie entfernen, wird der Speicher freigegeben.

    
ArtemB 04.12.2013, 04:55
quelle
4

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

  1. finde das eingehängte Verzeichnis mit dem Befehl mount | grep huge .

  2. Überprüfen Sie jedes Verzeichnis, mit Ausnahme von /dev/hugepages .

  3. löscht alle 2M großen Dateien. (2M ist die Größe der großen Seite)

ptan 21.10.2014 10:37
quelle
1

Verwenden Sie 'ipcs-m', um die gemeinsamen Speichersegmente aufzulisten. Verwenden Sie "ipcrm", um die übrig gebliebenen Shared-Memory-Segmente zu entfernen.

Ich hoffe, das hilft ...

    
Mark J. Bobak 04.12.2013 04:06
quelle
0

Wenn Sie die unten stehende Anweisung befolgen, können Sie die zugewiesenen riesigen Seiten loswerden:

1) Überprüfen wir die riesigen Seiten, die beim Neustart frei waren

%Vor%

2) Starten einer dpdk-Anwendung mit falschen Parametern, was zu einem Fehler

führt %Vor%

3) Wenn ich riesige Seiten überprüfe, gibt es keine freien

%Vor%

4) Wenn ich nun das angehängte rugpage-Verzeichnis überprüfe, kann ich die Dateien sehen, die nicht von der dpdk-Anwendung an das Betriebssystem zurückgegeben werden.

%Vor%

5) Wenn Sie die Dateien entfernen, die mit rtemap beginnen, können Sie die riesigen Seiten schließlich zurückgeben

%Vor%     
Ali Volkan ATLI 18.11.2017 18:59
quelle
-2

Ihr hugetlb kann von shared memory oder mmap-Dateien verwendet werden. versuche die geteilten memories zu entfernen oder hugetlb fs umount.

    
Jiangtao Zhang 04.05.2016 22:41
quelle