Czy mogę wyświetlić statystyki systemowe w terminalu?

34

Widżet iStat Pro pozwala monitorować różne statystyki systemowe, takie jak

  • użycie procesora
  • przepustowość sieci we / wy
  • zużycie pamięci
  • ...

Jak wyświetlić takie statystyki systemowe w terminalu?

wprowadź opis zdjęcia tutaj

gentmatt
źródło

Odpowiedzi:

56

W zależności od tego, co chcesz zobaczyć, na poziomie terminala istnieje kilka opcji:

  • top: pokazuje uruchomione procesy, zużycie pamięci i podobne statystyki
  • iostat: pokaż statystyki we / wy dla terminala, urządzenia i statystyki letniej SPU
  • vm_stat: pokaż statystyki pamięci wirtualnej Macha
  • dforaz diskutil list: raport o wykorzystanym i wolnym miejscu na dysku
  • fs_usage: pokaż aktywność pliku dla dysku i sieci
  • nettop: wyświetla zaktualizowane informacje o sieci (trochę jak top dla netto I / O)
  • w: wyświetla, kto jest zalogowany, co robi i ładuje system
  • ifconfigoraz ipconfig: szczegóły interfejsu sieciowego i protokołu IP

Większość tych poleceń ma ogromną listę opcji, prawdopodobnie najlepiej zajrzeć na strony podręcznika, aby uzyskać szczegółowe informacje.

Zwykle polegam na identyfikacji procesów powodujących obciążenie top -u -s 10procesora i fs_usage -f filesys/ lub fs_usage -f networkna procesach generujących duże obciążenie dysku / sieci.

nohillside
źródło
@ JMY1000 LOL, tak naprawdę podoba mi się idea procesu obejmującego procesor :-) Dzięki za edycję.
nohillside
@patrix Ah, dobry stary uścisk śmierci.
JMY1000,
6

IStats ruby gem pozwala sprawdzić temperaturę procesora za pomocą wiersza poleceń.

Instalacja

$ gem install iStats

Stosowanie

$ istats

Zrzut ekranu

Chris911
źródło
4

Możesz użyć top. Pokaże użycie procesora i pamięci RAM wraz ze wszystkimi procesami. Wyświetli także wejście / wyjście pakietów sieciowych oraz odczyt / zapis danych z dysków.

Uko
źródło
2
Dzięki man topniemu możesz zobaczyć, jak dostosować dane wyjściowe.
Rene Larsen
3

Powyżej są świetne polecenia. Lubię też używać

$ du -ks *

Aby pokazać, ile miejsca na dysku zajmują wszystkie foldery poniżej mojego bieżącego katalogu.

To polecenie wyświetla listę 10 najlepszych katalogów w kolejności według wielkości:

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

W przypadku ogólnego narzędzia statystyk systemowych podoba mi się, że python spogląda lepiej niż top:

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

Oto jak możesz go zainstalować na Debian / Ubuntu:

$ sudo apt-get install glances

Oto jak możesz go zainstalować na CentOS / Red Hat:

# yum  install glances
użytkownik 8128167
źródło
1

Jeśli masz problemy z siecią, szczególnie z serwerem narażonym na działanie Internetu, lsof (1) może być bardzo użyteczny. Zawiera listę wszystkich otwartych plików.

Na przykład lsof | fgrep '/Library/WebServer/pokaże Ci wszystkie pliki, które są otwarte na twoim serwerze internetowym. Dużo tego używałem do wyszukiwania i blokowania „pijawek” i „botów”, które zmniejszają moją przepustowość, automatycznie zasysając plik po pliku.

Jan Steinman
źródło
1

Moim preferowanym sposobem, aby zobaczyć użycie procesora za pomocą jednego polecenia, które natychmiast się zwraca, jest

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

-ax: wszystkie procesy, w tym procesy nieterminalne i te, których nie posiadasz.

-r: sortuj według użycia procesora

-o pcpu: wypisuje tylko pole% cpu. % cpu to 1-minutowa średnia procesu, ale uśrednia się przez cały czas trwania procesu, jeśli jego czas życia wynosi <1min.

awk: zsumuj pierwszą kolumnę w każdym wierszu i wydrukuj sumę na końcu.

Jest to wielkość procesora na rdzeń, więc na 12 rdzeniach możesz uzyskać do 1200; nie masz limitu 100.

jeremysprofile
źródło
0

Oto dwa polecenia służące do określenia lokalnego i publicznego adresu IP:

Lokalny adres IP

ipconfig getifaddr en1

Dzieje się tak podczas korzystania z Wi-Fi. Do użytku w sieci Ethernet en0.

Publiczny adres IP

curl whatismyip.org
gentmatt
źródło
1
W obecnych MacBookach Airs (które nie mają portu Ethernet) kod urządzenia Wi-Fi to en0. Możesz dowiedzieć się, z czym to jest networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.".
Lri