Frage

Nach der -Manpage „-l“ in ulimit bedeutet „Die maximale Größe, die in den Speicher kann gesperrt werden“. Was bedeutet dieser Satz genau? Wie kann es laufende Programme beeinflussen?

War es hilfreich?

Lösung

Speicher, die gesperrt ist, kann nicht ausgelagert werden - das reduziert die Menge an Speicher, die für andere Prozesse zur Verfügung steht. Diese Einstellung begrenzt die Größe des Speichers, die gesperrt werden können.

Andere Tipps

Dies begrenzt, wie viel Speicher Sie mit mlock

Die setrlimit manpage sagt:

  

Die maximale Anzahl von Bytes des Speichers, der in dem RAM gesperrt werden kann. In der Tat ist diese Beschränkung auf das nächste Vielfache der System Seitengröße abgerundet. Diese Grenze betrifft mlock (2) und mlockall (2) und die mmap (2) MAP_LOCKED Betrieb. Da Linux 2.6.9 auch den shmctl (2) SHM_LOCK Betrieb auswirkt, wo sie ein Maximum auf die Gesamtanzahl der Bytes in gemeinsam genutzten Speichersegmente Sets (siehe shmget (2)), die durch die reale Benutzer-ID des anrufenden Prozess gesperrt werden kann. Die shmctl (2) SHM_LOCK Schlösser für getrennt von den Pro-Prozess-Speichersperren eingesetzten mlock (2) berücksichtigt werden, mlockall (2) und mmap (2) MAP_LOCKED; ein Prozess kann sperren Bytes in jedem dieser beiden Kategorien bis zu dieser Grenze. In Linux-Kernel vor 2.6.9, kontrollierte diese Grenze die Größe des Speichers, der von einem privilegierten Prozess gesperrt werden könnte. Da Linux 2.6.9 sind keine Grenzen für die Größe des Speichers platziert, die ein privilegierter Prozess sperren kann, und diese Grenze regelt stattdessen die Größe des Speichers, dass ein unprivilegierten Prozess sperren kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top