OpenBSD hat nicht genügend Speicher, wenn kein Swap-Speicher verwendet wird

OpenBSD hat nicht genügend Speicher, wenn kein Swap-Speicher verwendet wird

Ich arbeite mit einer Neuinstallation von OpenBSD (5.6 amd64). Ich versuche, Boost-Bibliotheken zu erstellen, und einige Kompilierungen schlagen fehl, da cc1plus nicht genügend Arbeitsspeicher hat.

Ich habe anderswo gelesen, dass eine Erhöhung des Swaps dieses Problem lösen kann. Bei mir funktioniert das jedoch nicht. Derzeit habe ich 4 GB Swap eingerichtet. Allerdings wird nichts davon verwendet. Swapctl zeigt immer

total: 8390592 512-blocks allocated, 0 used, 8390592 available

Auch wenn die Kompilierung fehlschlägt, bleibt dies unverändert.

Es gibt etwas Ungewöhnliches an meiner Installation, das ich erwähnen sollte. Sie ist auf einem USB-Stick installiert und ich habe die vollständige Festplattenverschlüsselung mit der Softraid0-Methode verwendet. Mein /dev/sd1b ist also mein 4-GB-Swap, /dev/sd1a ist RAID, /dev/sd2 (das verschlüsselte RAID) wird vom Installationsprogramm wie üblich partitioniert, nur dass dort kein Swap vorhanden ist.

Meine Frage lautet: Warum wird mein Swap-Speicher überhaupt nicht genutzt, obwohl dem Compiler der Arbeitsspeicher ausgeht?

Antwort1

Standardmäßig erlaubt OpenBSD Prozessen nicht, unbegrenzten Speicher zu verwenden. Diese Grenzen sind in definiert /etc/login.conf.

Wenn Sie diese Grenzen erreichen, erhalten Sie eine Fehlermeldung, dass nicht genügend Arbeitsspeicher vorhanden ist, obwohl das Betriebssystem insgesamt noch genügend Speicher übrig hat. Meistens ist das gut, da ein einzelner Prozess nicht den gesamten Arbeitsspeicher aufbrauchen und das System in die Knie zwingen kann. Manchmal ist es jedoch störend. Glücklicherweise können Sie das ändern.

Antwort2

Sie können möglicherweise auch etwas erreichen, indem Sie sich selbst zur staffGruppe hinzufügen. Die Speichergrenzen für diese Gruppe scheinen großzügiger festgelegt zu sein als für andere Benutzerklassen.

verwandte Informationen