2010-03-01 9 views
5

Ich verwende Mac OS 10.6. Ich möchte top ausführen, um Speicherauslastung zu erhalten, aber nicht im interaktiven Modus oder in einem Modus, der aktualisiert wird. Ich möchte nur die Speichernutzung zu diesem Zeitpunkt und dann zur Eingabeaufforderung zurückkehren. Ich habe nach anderen Dienstprogrammen gesucht, um Speicherauslastung zu erhalten ... aber kam zu kurz (vm_stat ist für virtuellen Speicher). Kann mir jemand sagen, wie man top oder etwas anderes bekommt, um die Speicherauslastung zu stdout zu drucken?Führen Sie oben, drucken Sie Ausgabe, dann beenden ODER, wie die tatsächliche Speichernutzung ohne Top

+0

Nur für den Fall, dass einige Leute auch die Antwort für Linux suchen: Sie können 'top -n 1' dann verwenden. – math

Antwort

5

top -l 1 wird nur ein Beispiel auf Standardausgabe (Sie können es umleiten, filtern, etc., wie Sie es wünschen natürlich). man top für viele weitere Details.

+0

Danke. Wie ich es oft tue, parse ich die gesamte Man-Datei und vermisse das einzige, was ich brauche. – physicsmichael

+0

top bleibt für eine halbe Sekunde zwischen der Ausgabe und der Rückkehr zur Eingabeaufforderung hängen. Weißt du, warum? Es macht es schwierig, dies oft hintereinander zu tun. – physicsmichael

+0

@ vmg64, Ich denke, es ist nur die Zeit, die es dauert, um alle Statistiken zu sammeln (viele syscalls, immerhin). Wenn Sie viele Samples benötigen, verwenden Sie 'top -l 20' oder welche Nummer Sie auch immer brauchen! –

0

Ich habe diesen Befehl wurde mit

die grundlegenden Informationen in den ersten Zeilen auszuspucken
top -l 1 -n 0 

-l 1 = nur eine Probe -n 0 = 0 Prozesse

dies a etwas hack .... aber wenn du nur die Gedächtnislinie willst ... könntest du es durch Kopf und Schwanz füttern.

top -l 1 -n 0 | head -n 5 | tail -n 2 
2

können Sie auch den ps Befehl verwenden. zB

ps -eo pmem,comm 

Kontrolle der ps man Seite für weitere Ausgabeformatierung. zB rss, size etc ..