Prozessgröße unter UNIX

Translate

Was ist der richtige Weg, um die Prozessgröße einzustellen?Solaris, HP-UXundAIX? Sollen wir verwendentopoderps -o vszoder etwas anderes?

This question and all comments follow the "Attribution Required."

Alle Antworten

Translate

Die genauen Definitionen vonvsize, rss, rprvt, rshrdund andere dunkel aussehende Abkürzungen variieren von Betriebssystem zu Betriebssystem. Die Handbuchseiten für dietopundpsBefehle haben eine Art Beschreibung, aber alle diese Beschreibungen sind stark vereinfacht (oder basieren auf längst ausgestorbenen Kernel-Implementierungen).
"Prozessgröße" als Konzept ist im allgemeinen Fall teuflisch schwer zu bestimmen. Antworten in bestimmten Fällen hängen stark von der tatsächlichen Implementierung der Speicherverwaltung im Betriebssystem ab und sind selten so zufriedenstellend wie das ordentliche Konzept der "Prozessgröße", das in den Köpfen der meisten Benutzer (und der meisten Entwickler) existiert.

Beispielsweise kann keine dieser Zahlen (und wahrscheinlich auch keine Kombination davon) verwendet werden, um genau anzugeben, wie viele solcher Prozesse gleichzeitig in einer bestimmten Menge an freiem Speicher ausgeführt werden können. Aber wirklich, Ihre beste Wette ist es, von diesem Ende her zu kommen: Warum wollen Sie diese Nummer und wofür werden Sie sie verwenden? Angesichts dieser Informationen werden Sie wahrscheinlich nützlichere Antworten erhalten.

Quelle
TLS
Translate

Unter Solaris können Sie detaillierte Informationen zur Speichernutzung eines Prozesses mit dem abrufenpmapBefehl. Speziell,pmap -x <pid>zeigt Ihnen, wie viel Speicher eines Prozesses gemeinsam genutzt wird und wie viel speziell von diesem Prozess verwendet wird. Dies ist nützlich, um die "marginale" Speichernutzung eines Prozesses zu ermitteln. Mit dieser Technik können Sie vermeiden, dass gemeinsam genutzte Bibliotheken doppelt gezählt werden.

Quelle
Translate

Ja, Sie haben Recht, die VSZ zu sperren.

ps uSie erhalten VSZ und RSS, dh die Größe des virtuellen Speichers und die Größe des residenten Satzes. Der RSS gibt an, wie viel physischer Speicher dem Prozess zugewiesen wurde, und der VSZ gibt die Größe des virtuellen Speichers des Prozesses an. Wenn mehrere Kopien eines Programms ausgeführt werden, wird ein Großteil des Speichers in der VSZ von diesen Prozessen gemeinsam genutzt.

Quelle
Translate

Ich habe die Größe des residenten Sets für alle Prozesse wie diesen (als root) zusammengefasst:

ps ax -o rss | awk '{rss += $1;} END { print rss}'
Quelle