2010-11-20 13 views
0

Sehr geehrte alle, ich benutze Redhat Linux, Wie maximale Speicher für bestimmte Prozess einstellen. Zum Beispiel muss ich die maximale Speichernutzung nur der Sonnenfinsternis zuweisen. Ist es möglich, dies wie folgt zuzuweisen. Geben Sie mir einige Lösungen.Zuweisung von Speicher für Prozess in Linux

+0

Ich möchte diesen Speicher als permanent für bestimmte Prozess festlegen. – Mohan

Antwort

1

Sie können die Speichernutzung nicht steuern; Sie können nur die Größe des virtuellen Arbeitsspeichers steuern, nicht die Menge des tatsächlich verwendeten Arbeitsspeichers, da dies für einen einzelnen Prozess auf einem Betriebssystem, das virtuellen Arbeitsspeicher unterstützt, extrem kompliziert (vielleicht unmöglich) ist.

Nicht der gesamte verwendete Speicher wird zu einem bestimmten Zeitpunkt im virtuellen Adressraum des Prozesses angezeigt, z. B. zur Verwendung des Kernels und zum Zwischenspeichern von Datenträgern. Ein Prozess kann ändern, welche Seiten er so oft gemappt hat (z. B. via mmap()). Ein Teil des Adressraums eines Prozesses wird ebenfalls zugeordnet, aber nicht tatsächlich verwendet oder mit einem oder mehreren anderen Prozessen geteilt. Dies macht das Messen pro Prozessspeicherverwendung in der Praxis zu einem ziemlich unerreichbaren Ziel.

Und eine Begrenzung der VM-Größe ist auch keine gute Idee, da dies dazu führt, dass der Prozess getötet wird, wenn er versucht, mehr zu verwenden.

Der richtige Weg, dies in diesem Fall (für einen Java-Prozess) zu tun, ist die maximale Größe des Heaps (über verschiedene gut dokumentierte JVM-Startoptionen). Die Erfahrung legt jedoch nahe, dass Sie es nicht weniger als 1 GB festlegen sollten.

+0

Ya Mark Sie haben Recht, ich konnte keine Lösung für diese Aufgabe gefunden. Ich versuchte Andre's Lösung. Aber das steuert den virtuellen Speicher nur. So opt ich Ihren letzten Punkt, um die Größe des Heap-Speichers (für Java) zu erhöhen. Vielen Dank . – Mohan

2
ulimit -v 102400 
eclipse 

... gibt Eclipse 100MB Speicher.

+0

Danke, Nachdem Sie diesen Befehl in der Eingabeaufforderung eingegeben haben, werden 100 MB Eclipse zugewiesen. Dann, wie Sie diesen zugewiesenen Speicher für Eclipse finden. – Mohan

Verwandte Themen