Kita tahu itu top
adalah perintah untuk mendapatkan penggunaan CPU di Linux dan cara lain termasuk
cat /proc/stat
yang digunakan oleh top.
Apa metode lain untuk mendapatkan penggunaan CPU di baris perintah Linux?
Skenario use case: Output dari perintah ini akan digunakan oleh skrip untuk mencatat penggunaan CPU secara terus menerus. top
dan /proc/stat
memberikan detail penggunaan yang sulit untuk dicatat. Apakah ada cara yang lebih mudah untuk mendapatkan info CPU?
linux
command-line
fasil
sumber
sumber
sed
hasilnya jika Anda hanya menginginkan nilainya.top
dan yang lain memberikan perintah yang sangat berguna. Ini bukan saya menggunakan X, bagaimana dengan Anda? pertanyaan, tetapi Bagaimana saya melakukan X pertanyaan. Voting untuk dibuka kembali.Jawaban:
Seperti yang orang lain katakan, cara terbaik mungkin
top
. Perlu sedikit penyesuaian dan sedikit penguraian tetapi Anda bisa mendapatkannya untuk memberi Anda penggunaan CPU saat ini sebagai persentase.top
membagi penggunaan CPU antara pengguna, proses sistem dannice
proses, kami ingin jumlah dari ketiganya. Jadi, kita dapat menjalankantop
dalamb
mode atch yang memungkinkan kita untuk mengurai outputnya. Namun, seperti yang dijelaskan di sini , iterasi pertamatop -b
mengembalikan persentase sejak booting, oleh karena itu kami membutuhkan setidaknya dua iterasi (-n 2
) untuk mendapatkan persentase saat ini. Untuk mempercepat, Anda dapat mengaturd
elay di antara iterasi0.01
. Akhirnya, Andagrep
baris yang berisi persentase CPU dan kemudian gunakangawk
untuk menjumlahkan pengguna, sistem dan proses yang bagus:Saya pikir Anda juga bisa mendapatkan informasi ini
ps -o pcpu ax
dengan menambahkan% penggunaan setiap proses yang berjalan. Sayangnya, seperti yang dijelaskan di sini ,ps
"mengembalikan persentase waktu yang dihabiskan untuk menjalankan seluruh proses" yang bukan apa yang Anda butuhkan.EDIT
Berdasarkan komentar Anda, versi Anda
top
berbeda dengan saya dan Anda harus menggunakan ini sebagai gantinya:Dan, untuk menghindari masalah dengan pelokalan, setel lokal ke C:
sumber
sar
adalah cara pasti untuk melakukannya. Jadi misalnyasar -u
akan menampilkan sesuatu seperti ini:Anda tidak mengatakan Linux mana yang Anda gunakan tetapi untuk CentOS / RedHat Anda harus menginstal
sysstat
paket, dan saya pikir itu sama pada Debian / Ubuntu.Anda juga dapat menggunakan sar untuk mengumpulkan statistik ad hoc :
Akan mengumpulkan statistik setiap 60 detik 600 kali, jadi 600 menit.
sumber