Warum sollte Linux meinen Prozess beenden?

Warum sollte Linux meinen Prozess beenden?
  • Redhat Linux Enterprise Server 5.10 (ich weiß, es ist alt, ich kann das nicht ändern)
  • Diese Maschine wird mit VMTools virtualisiert.
  • Gesamtspeicher für diese VM: 32 GB. Gesamter Festplatten-Auslagerungsspeicher (virtueller Speicher): 36 GB. 900 GB übrig auf dem Hauptlaufwerk.
  • Terminal ist Hummingbird Exceed v14 unter Windows 7. (Ich kann keines von beiden ändern.)
  • Ich bin kein richtiger Systemadministrator, ich programmiere nur auf der Maschine. Daher wären detailliertere Anweisungen hilfreich, z. B. wo sich die Protokolle befinden und wonach gesucht werden muss.

Wenn ich ein bestimmtes Programm ausführe, das 7.000 Zeilen aus einer (nicht allzu großen) Tabellenkalkulation lese, wird mein Prozess manchmal einfach beendet und das Terminal verschwindet.

  • Aus welchen Gründen könnte das Betriebssystem meinen Prozess beenden?
  • Der physische Server, auf dem sich diese VM befindet, war gestern sehr ausgelastet. Wer weiß, wie viel Speicher die anderen VMs auf diesem Server verwendet haben, aber sollten meine 32 GB Speicher nicht nur für meine VM reserviert sein?
  • Würde VMTOOLS bei knappem Arbeitsspeicher alle virtuellen Maschinen durchsuchen und zufällig ausgewählte VMs und Ressourcenfresser zum Beenden auswählen? (Mein Prozess nutzte 95–99 % der CPU-Zeit, aber ich dachte, das gelte nur für meine VM.)

Danke. Ich stecke hier wirklich fest.


EDIT 1: Ich habe /var/log/syslog geprüft und mehrere Zeilentypen ignoriert. grep -vAls ich rausgeschmissen wurde, sah es jedes Mal so aus, als ob ressourcenhungrige Cron-Jobs ausgeführt wurden. Ich denke, das ist passiert.

Meine Frage ist nun, ob ich den Speicher und den Swap-Speicherplatz, den diese Cron-Jobs verwenden, begrenzen kann, damit der Speicher nicht aufgebraucht wird und mein Terminal nicht abgestürzt wird. Kann ich auf Betriebssystemebene etwas tun?


EDIT 07.12.2017: Nach weiteren Untersuchungen mit topsind wir noch lange nicht am Ende unseres Speichers, Swap-Speichers oder Festplattenspeichers. Es ist also etwas anderes im Gange und die IT-Abteilung untersucht es.

Antwort1

Meine Frage ist nun, ob ich den Speicher und den Swap-Speicherplatz, den diese Cron-Jobs verwenden, begrenzen kann, damit der Speicher nicht aufgebraucht wird und mein Terminal nicht abgestürzt wird. Kann ich auf Betriebssystemebene etwas tun?

Ja. Lesen Sie sorgfältigsetrlimit(2)Sie möchten dieulimit Bash integriertpassend.

Sich bewusst seinSpeicherüberlastung.

verwandte Informationen