Bisakah saya melihat statistik sistem di Terminal?

34

Widget iStat Pro memungkinkan Anda untuk memantau berbagai statistik sistem seperti

  • penggunaan CPU
  • bandwidth jaringan masuk / keluar
  • penggunaan memori
  • ...

Bagaimana saya bisa melihat statistik sistem seperti itu di Terminal?

masukkan deskripsi gambar di sini

gentmatt
sumber

Jawaban:

56

Tergantung pada apa yang ingin Anda lihat, ada beberapa opsi di level Terminal:

  • top: tampilkan proses yang sedang berjalan, penggunaan memori dan statistik serupa
  • iostat: tampilkan I / O per terminal, perangkat, dan statistik musim panas SPU
  • vm_stat: tampilkan statistik kehabisan memori virtual Mach
  • dfdan diskutil list: melaporkan ruang drive yang digunakan dan gratis
  • fs_usage: tampilkan aktivitas file untuk disk dan jaringan
  • nettop: menampilkan informasi yang diperbarui tentang jaringan (sedikit seperti top untuk net I / O)
  • w: menampilkan siapa yang masuk, apa yang mereka lakukan dan sistem memuat
  • ifconfigdan ipconfig: antarmuka jaringan dan detail protokol IP

Sebagian besar dari perintah ini memiliki daftar opsi yang besar, mungkin lebih baik untuk berkonsultasi dengan halaman manual untuk detailnya.

Saya biasanya mengandalkan top -u -s 10untuk mengidentifikasi proses CPU-hogging dan fs_usage -f filesys/ fs_usage -f networkuntuk mengidentifikasi proses yang menghasilkan banyak beban disk / jaringan.

nohillside
sumber
@ JMY1000 LOL, saya benar-benar menyukai ide proses memeluk CPU :-) Terima kasih atas suntingannya.
nohillside
@ Patrix Ah, pelukan maut yang baik.
JMY1000
6

The iStats ruby permata memungkinkan Anda melihat suhu CPU melalui baris perintah.

Instalasi

$ gem install iStats

Pemakaian

$ istats

Tangkapan layar

Chris911
sumber
4

Anda bisa menggunakannya top. Ini akan menunjukkan penggunaan CPU & RAM bersama dengan semua proses. Ini juga akan menunjukkan Anda paket jaringan masuk / keluar, dan cakram data dibaca / ditulis.

Uko
sumber
2
Dan dengan man topAnda dapat melihat bagaimana menyesuaikan output.
Rene Larsen
3

Di atas adalah perintah yang bagus. Juga, saya suka menggunakan

$ du -ks *

Untuk menunjukkan berapa banyak ruang disk yang digunakan oleh semua folder di bawah direktori saya saat ini.

Perintah ini mencantumkan 10 direktori teratas dalam urutan ukuran:

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

Untuk alat statistik sistem secara keseluruhan, saya suka tampilan python lebih baik daripada top:

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

Ini adalah bagaimana Anda dapat menginstalnya di Debian / Ubuntu:

$ sudo apt-get install glances

Ini adalah bagaimana Anda dapat menginstalnya di CentOS / Red Hat:

# yum  install glances
pengguna8128167
sumber
1

Jika Anda mengalami masalah jaringan, terutama dengan server yang terpapar ke Internet, lsof (1) bisa sangat berguna. Ini daftar semua file yang terbuka.

Sebagai contoh, lsof | fgrep '/Library/WebServer/akan menunjukkan kepada Anda semua file yang terbuka di server web Anda. Saya telah menggunakan ini banyak untuk menemukan dan melarang "lintah" dan "bot" yang mengurangi bandwidth saya dengan secara otomatis menyedot file demi file.

Jan Steinman
sumber
1

Cara yang saya sukai untuk melihat penggunaan CPU dengan satu perintah yang kembali secara instan adalah

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

-ax: semua proses, termasuk proses non-terminal dan yang tidak Anda miliki.

-r: urutkan berdasarkan penggunaan cpu

-o pcpu: hanya menampilkan bidang% cpu. % cpu adalah rata-rata 1 menit proses, tetapi hanya akan rata-rata selama masa proses jika masa pakai <1 menit.

awk: jumlah kolom pertama di setiap baris dan cetak jumlahnya di akhir.

Ini adalah metrik CPU per-inti, jadi pada CPU 12 inti Anda bisa mendapatkan hingga 1.200; Anda tidak dibatasi pada 100.

profil jeremys
sumber
0

Berikut adalah dua perintah untuk menentukan IP lokal dan publik Anda:

IP lokal

ipconfig getifaddr en1

Ini saat menggunakan Wi-Fi. Untuk penggunaan ethernet en0.

IP publik

curl whatismyip.org
gentmatt
sumber
1
Pada MacBook Airs saat ini (yang tidak memiliki port ethernet) kode perangkat Wi-Fi en0. Anda bisa mencari tahu apa itu networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.".
Lri