Ich möchte die Speicherauslastung für mein Perl-Skript begrenzen, das auf einem Linux-System ausgeführt wird. Ich habe versucht, BSD::Resource 's setrlimit
zu verwenden, aber habe Probleme gehabt. Ich würde mich über Hinweise freuen. Vielen Dank.Wie die Auslastung des Prozessspeichers unter Linux begrenzt wird (z. B. mit BSD :: Resource)
7
A
Antwort
7
Wenn Sie Code entwickeln, ist es einfach, Ihr Perl-Programm weglaufen zu lassen und den gesamten Speicher zu verbrauchen. Die Maschine wird zum Stillstand kommen, bis das Programm den Speicher erschöpft und stirbt. Sie können dieses Problem vermeiden:
Mit diesem Code:
use BSD::Resource;
setrlimit(get_rlimits()->{RLIMIT_VMEM}, 1_000_000_000, -1) or die;
1;
ich diesen Code in limit.pm setzen (daher die "1";). Ich kann dann sagen
use limit;
an der Spitze eines Programms, das ich begrenzen möchte.
3
Scott Corely schlägt die Einstellung ulimit
vor dem Ausführen des Perl-Skripts.
Verwandte Themen
- 1. Prozessspeicher/CPU-Auslastung unter Linux beschränken
- 2. Messen Sie die Präzision des Timers (z. B. Stoppuhr/QueryPerformanceCounter)
- 3. Wie wird eine Schriftgröße (z. B. 32pt) mit \ setbeamerfont festgelegt?
- 4. redis, wie die Rückkehrnummer des SCHLÜSSEL-Befehls begrenzt wird?
- 5. Wird C# unter Linux laufen
- 6. Wie garantiert man eine bestimmte Datei ist ein Gerät unter BSD/Linux von PHP?
- 7. Wie wird der Speicherverbrauch unter Linux protokolliert?
- 8. Wie bekomme ich Thread-Status (z. B. ausgesetzt), Speicher + CPU-Auslastung, Startzeit, Priorität usw.
- 9. Wie funktionieren verteilte Transaktionen (z. B. MSDTC)?
- 10. Übereinstimmende Sonderzeichen (z. B. #, +) mit pg_search
- 11. Wie öffnet man die bevorzugte Mailanwendung des Benutzers unter Linux?
- 12. wie man cdt eclipse zeigen Laufzeitfehler (z. B. Segmentierungsfehler)
- 13. Wie programmgesteuert die Adresse des Heap unter Linux
- 14. Passende Zeichenfolge mit Shell-Wildcards (z. B. *)
- 15. Position des Standardmenüeintrags unter Linux
- 16. Serialize-Berechtigungen (z. B. CanCan) mit Active_model_serializers
- 17. Schienen - Params mit "Punkt" (z. B. /google.com)
- 18. Wie wird Mutex unter Linux erstellt?
- 19. Wie kann die CPU-Auslastung pro Kern unter Linux dynamisch überwacht werden?
- 20. Fehlerbehebung z. B. Flash 404
- 21. Bild (z. B. jpg) einer Webseite generieren?
- 22. Wie verwende ich die Buchfunktionen (z. B. Konkordanz) in NLTK?
- 23. Plattformübergreifendes Befehlszeilenskript (z. B. .bat und .sh)
- 24. Wie erkennt man Klänge (z. B. Hände klatschen) mit Flash?
- 25. So führen Sie Systembefehle (linux/bsd) mit Java aus
- 26. Verzeichnis des laufenden Programms unter Linux?
- 27. Was passiert in C, wenn ein größerer Datentyp (z. B. int) in einen kleineren Datentyp (z. B. kurz) konvertiert wird?
- 28. Wird einer Medienabfrage mit * vorangestellt, z. B. * -device-width, eine gültige Abfrage für die @ media-Regel?
- 29. textView, z. B. kann nicht ausgewählt werden?
- 30. Wie Byebug mit einem Remote-Prozess (z. B. Pow)
Können Sie die Probleme beschreiben? Versuchen Sie, ein Limit zu verhindern oder zu verursachen? – ysth
stellen Sie sicher, dass Sie die harte Grenze hinzufügen, nicht weiche. –