So finden Sie heraus, wie viel Speicher ein Programm benötigt


8

Ich verwende htop, um meine Prozesse zu überwachen, aber die meisten ausgeführten Dienste sind Multithread-Dienste, sodass sie in mehreren Zeilen mit einem Prozentsatz der Speichernutzung angezeigt werden, der in einigen Fällen für alle gleich ist, manchmal variiert er zwischen ihnen.

Angenommen, im Fall von Firefox können 15 Prozesse aufgelistet werden, die jeweils 13% des Speichers verbrauchen.

Kann ich wissen, dass viel Speicher Firefox, MySQL, ein fcgi-Skript oder irgendetwas verbraucht? da die htop-ausgabe irreführend erscheint.

Antworten:


6

Die meisten Top-Implementierungen bieten eine Möglichkeit, die Anzeige von Threads ein- oder auszuschalten.

  • htop: im Menü "Setup / Anzeigeoptionen" "Benutzerland-Threads ausblenden".
  • Linux top: Drücken Sie Hdiese Taste, um die Anzeige von Threads umzuschalten (diese sind jedoch standardmäßig deaktiviert).
  • OpenBSD oben: Drücken Sie Tdiese Taste, um die Anzeige von Threads umzuschalten (diese sind jedoch standardmäßig deaktiviert).

Beachten Sie, dass Speicherzuordnungen und damit die Speicherbelegung eine Eigenschaft eines Prozesses sind, sodass für jeden Thread in einem Prozess immer die gleichen Zahlen angezeigt werden. Wenn Sie unterschiedliche Zahlen sehen, bedeutet dies, dass es mehrere Prozesse gibt.

Es gibt keine einfache Möglichkeit, den Gesamtspeicherverbrauch einer Reihe von Prozessen zu ermitteln, da das Konzept nicht genau definiert ist. Ein Teil des Speichers kann gemeinsam genutzt werden. Dies geschieht ständig bei gemeinsam genutzten Bibliotheken. Darüber hinaus verwenden verwandte Prozesse (z. B. mehrere Instanzen eines Servers) mit größerer Wahrscheinlichkeit gemeinsam genutzten Speicher, um Daten auszutauschen. Wenn Sie nur die Zahlen hinzufügen, erhalten Sie häufig eine Zahl, die viel größer ist als der tatsächlich verwendete Speicher.


1
Ich wusste nicht, dass das Speicherkonzept des Prozesses nicht genau definiert ist. Ich denke, das macht alles sinnvoller. Danke
Jjdelc

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.