Bagaimana cara mencatat beban CPU?


Jawaban:


42

Ini bekerja dengan sangat baik:

 while true; do uptime >> uptime.log; sleep 1; done
  • Ini akan mencatat cpu Anda setiap detik dan menambahkannya ke file uptime.log.

    Anda kemudian dapat mengimpor file ini ke Gnumeric atau spreadsheet OpenOffice untuk membuat grafik yang bagus (pilih 'dipisahkan oleh spasi' saat impor).

Seperti yang diperhatikan Scaine, ini tidak akan cukup untuk mendiagnosis masalahnya. Jadi, jalankan juga ini (atau gunakan jawabannya untuk bagian ini):

while true; do (echo "%CPU %MEM ARGS $(date)" && ps -e -o pcpu,pmem,args --sort=pcpu | cut -d" " -f1-5 | tail) >> ps.log; sleep 5; done
  • Ini akan menambahkan 10 proses paling lapar CPU ke file ps.logsetiap lima detik.

    Perhatikan bahwa ini bukan muatan penuh informasi yang topakan diberikan kepada Anda. Ini hanya 10 teratas, dan hanya Penggunaan CPU, Penggunaan Memori dan argumen pertama (yaitu perintah mereka tanpa argumen lebih lanjut, seperti pada /usr/bin/firefox)

Setelah Anda menggunakan Spreadsheet untuk membuat grafik untuk melihat kapan beban CPU Anda melewati atap, Anda kemudian dapat mencari file ini untuk waktu terdekat untuk melihat proses apa yang menyebabkannya.

Seperti inilah tampilan file-file itu:

uptime.log

~$ cat uptime.log 
 22:57:42 up 1 day,  4:38,  4 users,  load average: 1.00, 1.26, 1.21
 22:57:43 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:44 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 22:57:45 up 1 day,  4:38,  4 users,  load average: 0.92, 1.24, 1.21
 ...

ps.log

%CPU %MEM ARGS Mo 17. Jan 23:09:47 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.1  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
%CPU %MEM ARGS Mo 17. Jan 23:09:48 CET 2011
 0.7  0.9 /usr/bin/compiz
 0.8  0.5 /usr/lib/gnome-panel/clock-applet
 1.0  1.7 /opt/google/chrome/chrome
 1.2  0.3 /usr/bin/pulseaudio
 1.8  4.0 /opt/google/chrome/chrome
 2.6  1.5 /opt/google/chrome/chrome
 2.6  3.2 /usr/bin/google-chrome
 3.6  2.6 /opt/google/chrome/chrome
 4.9  1.5 /usr/bin/X
 5.7  1.6 /opt/google/chrome/chrome
 ...

3
Apakah ini benar-benar mencetak penggunaan CPU yang benar ?? Saya mencoba ini pada centos dan hanya penggunaan memori yang benar :(
Menelaos Bakopoulos

Bagaimana saya bisa membuat perintah ini tetap berjalan di VPS saya bahkan setelah saya menutup koneksi Putty?
Lucas Bustamante

1
Jika penggunaan CPU yang dilaporkan pstidak masuk akal, coba jalankan sebagai root.
Stefano Palazzo

Bagaimana saya bisa membuat perintah ini tetap berjalan di VPS saya bahkan setelah saya menutup koneksi Putty ????
Mostafa

10

Anda dapat menjalankan topperintah dalam mode batch dengan menggunakan -bopsi, lalu membuangnya ke file.

Saat memulai PC Anda, buka terminal, jalankan

top -b > ~/cpu.txt

Kemudian ketika PC Anda macet, cukup buka file teks (mungkin besar) dan periksa entri terakhir untuk detail tentang apa yang sedang berjalan sebelum crash. Faktanya file tersebut akan sangat besar sehingga Anda lebih baik menjalankannya tail -250 ~/cpu.txt.

Juga periksa /var/log/kern.log Anda jika masalah Anda terkait dengan perangkat keras (tidak mungkin jika ini hanya terjadi setelah peningkatan, tetapi masih perlu diperiksa).



0

Bagi mereka yang perlu menjalankan perintah ini setelah sesi dempul Anda (klien SSH) berakhir. Anda dapat menggunakan perintah screen(atau menginstalnya menggunakan apt-get)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.