Ich führe ein Multiprozess-Python-Programm unter CentOS aus. Das Programm benötigt nicht viel Speicher. Das Problem ist, dass mein 64-GB-Speicherrechner fast keinen Speicher mehr hat und keine anderen rechenintensiven Aufgaben ausführen kann. Hat jemand das gleiche Problem?
Aktualisiert:
nach dem Sortieren werden Prozesse nach %MEM mit einem Teil der Ausgabe wie folgt durchgeführt:
21922 haoyu 20 0 12.457g 1.204g 0 T 0.0 1.9 0:00.02 python
21871 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21872 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21895 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21896 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21897 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.03 python
21898 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
21899 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.02 python
21900 haoyu 20 0 12.433g 1.204g 0 T 0.0 1.9 0:00.01 python
Das Problem könnten einige Fehler in meinem Multiprozess-Python-Programm sein. Es sieht so aus, als ob die Unterprozesse nicht richtig geschlossen wurden und immer noch Speicher beanspruchen. Da viele von ihnen derzeit nicht aktiv sind und die CPU verwenden, kann ich sie nicht sehen, wenn ich den obersten Befehl ohne Optionen anwende.
Antwort1
Auf dem von Ihnen angehängten Bild haben Sie Prozesse/Programme nach CPU-Auslastung sortiert, nicht nach Speicherauslastung.
Sieht so aus, als ob das von Ihnen ausgeführte Python-Programm NUR 0,4 % des Speichers (und 100 % der CPU) verwendet. Wahrscheinlich verwendet ein anderer Prozess/ein anderes Programm den Speicher auf Ihrem Server.
Führen Sie bitte den Befehl aus, der eine nach Speichernutzung sortierte Liste der Programme generiert:
top -o %MEM -b -n 1 | head -20
und sehen Sie sich die letzte Spalte mit dem Namen des Prozesses/Programms an.
Es sollte Ihnen eine Antwort auf die Frage geben,Was belegt den Speicher Ihres Computers?.