Kann ich Systemstatistiken im Terminal anzeigen?

34

Das Widget iStat Pro ermöglicht die Überwachung verschiedener Systemstatistiken

  • CPU auslastung
  • Netzwerkbandbreite ein / aus
  • Speichernutzung
  • ...

Wie kann ich solche Systemstatistiken im Terminal anzeigen?

Bildbeschreibung hier eingeben

Gentmatt
quelle

Antworten:

56

Je nachdem, was Sie sehen möchten, gibt es auf Terminalebene verschiedene Optionen:

  • top: Laufende Prozesse, Speichernutzung und ähnliche Statistiken anzeigen
  • iostat: Zeigt die E / A-Statistik pro Terminal, Gerät und SPU an
  • vm_stat: zeige Mach virtuellen Speicher Statistik
  • dfund diskutil list: Angabe des belegten und freien Speicherplatzes
  • fs_usage: Dateiaktivität für Festplatte und Netzwerk anzeigen
  • nettop: Aktualisierte Informationen zum Netzwerk anzeigen (ein bisschen wie oben für Net I / O)
  • w: Anzeige, wer angemeldet ist, was sie tun und Systemlast
  • ifconfigund ipconfig: Details zur Netzwerkschnittstelle und zum IP-Protokoll

Die meisten dieser Befehle enthalten eine große Liste von Optionen. Weitere Informationen finden Sie wahrscheinlich auf den Manpages.

Normalerweise verlasse ich mich top -u -s 10darauf, CPU-Überlastungsprozesse zu identifizieren und fs_usage -f filesys/ oder fs_usage -f networkProzesse zu identifizieren, die viel Festplatten- / Netzwerklast erzeugen.

nohillside
quelle
@ JMY1000 LOL, ich wirklich wie die Idee eines Prozesses umarmt die CPU :-) Danke für die Bearbeitung.
Nohillside
@patrix Ah, die gute alte Umarmung des Todes.
JMY1000,
6

Mit dem Ruby Gem iStats können Sie die CPU-Temperatur über die Befehlszeile anzeigen .

Installation

$ gem install iStats

Verwendung

$ istats

Bildschirmfoto

Chris911
quelle
4

Sie können verwenden top. Es zeigt die CPU- und RAM-Auslastung zusammen mit allen Prozessen. Es zeigt Ihnen auch Netzwerkpakete an, die ein- und ausgehen, und Datenträgerdaten, die gelesen oder geschrieben wurden.

Uko
quelle
2
Und mit können man topSie sehen, wie Sie die Ausgabe anpassen.
Rene Larsen
3

Die obigen Befehle sind großartig. Auch benutze ich gerne

$ du -ks *

Zeigt an, wie viel Speicherplatz alle Ordner unter meinem aktuellen Verzeichnis belegen.

Dieser Befehl listet die Top 10 Verzeichnisse in der Reihenfolge ihrer Größe auf:

$ du -sh * | sort -nr | head -10

Für ein Statistik-Tool des Gesamtsystems gefallen mir die Python-Blicke besser als oben:

https://nicolargo.github.io/glances/

So können Sie es unter Debian / Ubuntu installieren:

$ sudo apt-get install glances

So können Sie es unter CentOS / Red Hat installieren:

# yum  install glances
user8128167
quelle
1

Wenn Sie Netzwerkprobleme haben, insbesondere mit einem Server, der dem Internet ausgesetzt ist, kann lsof (1) äußerst nützlich sein. Es listet alle offenen Dateien auf.

Beispielsweise lsof | fgrep '/Library/WebServer/werden Ihnen alle Dateien angezeigt, die auf Ihrem Webserver geöffnet sind. Ich habe dies oft verwendet, um "Blutegel" und "Bots" zu finden und zu verbannen, die meine Bandbreite reduzieren, indem sie Datei für Datei automatisch entleeren.

Jan Steinman
quelle
1

Mein bevorzugter Weg, die CPU-Auslastung mit einem einzigen Befehl zu sehen, der sofort zurückkehrt, ist

ps -axro pcpu | awk '{sum+=$1} END {print sum}'

-ax: Alle Prozesse, einschließlich nicht terminaler Prozesse und Prozesse, die Sie nicht besitzen.

-r: Nach CPU-Auslastung sortieren

-o pcpu: gibt nur das% cpu Feld aus. % cpu ist ein 1-Minuten-Durchschnitt des Prozesses, er wird jedoch nur über die Lebensdauer des Prozesses gemittelt, wenn seine Lebensdauer <1 Minute ist.

awk: Summiere die erste Spalte in jeder Zeile und gib die Summe am Ende aus.

Dies ist eine CPU-Metrik pro Kern, sodass Sie auf einer 12-Kern-CPU bis zu 1200 erhalten können. Du bist nicht auf 100 begrenzt.

jeremysprofile
quelle
0

Hier sind zwei Befehle zum Bestimmen Ihrer lokalen und öffentlichen IP:

Lokale IP

ipconfig getifaddr en1

Dies ist bei Verwendung von Wi-Fi. Für den Einsatz im Ethernet en0.

Öffentliche IP

curl whatismyip.org
Gentmatt
quelle
1
Auf aktuellen MacBook Airs (die keinen Ethernet-Anschluss haben) lautet der WLAN-Gerätecode en0. Sie können herausfinden, woran es liegt networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.".
Lri