CPU yükü nasıl kaydedilir?


Yanıtlar:


42

Bu çok iyi çalışıyor:

 while true; do uptime >> uptime.log; sleep 1; done
  • Bu işlem cpu yükünüzü her saniye kaydeder ve onu bir dosyaya ekler uptime.log.

    Daha sonra hoş bir grafik oluşturmak için bu dosyayı Gnumeric veya OpenOffice elektronik tablosuna aktarabilirsiniz (içe aktarma sırasında 'boşluklarla ayrılmış' seçeneğini seçin).

Scaine'nin fark ettiği gibi, bu sorunu teşhis etmek için yeterli olmaz. Dolayısıyla, ek olarak, şunu çalıştırın (veya bu kısım için cevabını kullanın):

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
  • Bu işlem, işlemcilerin en fazla işlem gördüğü ilk 10 işlemin ps.logher beş saniyede bir dosyaya eklenmesini sağlayacaktır .

    Bunun tekne yükünün tamamen topsize verilmediğine dikkat edin. Bu sadece ilk 10 ve sadece CPU Kullanımı, Bellek Kullanımı ve ilk argümandır (yani, içinde olduğu gibi başka argümanlar olmadan komutları /usr/bin/firefox)

CPU yükünüzün çatıdan ne zaman geçtiğini görmek için bir grafik oluşturmak için bir Elektronik Tablo kullandıktan sonra, hangi sürecin neden olduğunu görmek için bu dosyayı en yakın zamanda arayabilirsiniz.

Bu dosyalar neye benzeyecek:

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
Bu aslında doğru CPU kullanımını yazdırıyor mu? Bunu centos üzerinde denedim ve yalnızca bellek kullanımı doğru oldu :(
Menelaos Bakopoulos

Putty bağlantısını kapattıktan sonra bile bu komutu VPS'imde çalışmaya devam ettirebilir miyim?
Lucas Bustamante,

1
Rapor edilen CPU kullanımı pssaçma değilse, kök olarak çalıştırmayı deneyin.
Stefano Palazzo

Putty bağlantısını kapattıktan sonra bile bu komutu VPS'imde çalışmaya devam ettirebilir miyim ????
Mostafa

10

Seçeneği topkullanarak komutu toplu modda çalıştırabilir -b, sonra bunu bir dosyaya aktarabilirsiniz.

PC'nizi başlatırken bir terminal açın, çalıştırın

top -b > ~/cpu.txt

Ardından PC'niz donduğunda, (muhtemelen çok büyük) metin dosyasını açmanız ve çökmeden hemen önce neyin çalıştığı hakkında ayrıntılı bilgi için son girişi kontrol etmeniz yeterlidir. Aslında, dosya o kadar aptal olacak ki, tail -250 ~/cpu.txtbunun yerine daha iyi kullanmaya başlayacaksınız .

Ayrıca, sorununuzun donanım ile ilgili olması durumunda /var/log/kern.log dosyasını da kontrol edin (bunun yalnızca bir yükseltme işleminden sonra gerçekleşmesi muhtemel değilse de, yine de kontrol etmeye değer).



0

Macunu (SSH istemcisi) oturumunuzun bitmesinden sonra bu komutu çalıştırması gerekenler için. komutu kullanabilirsiniz screen(veya kullanarak kurun apt-get)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.