Yanıtlar:
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.log
her beş saniyede bir dosyaya eklenmesini sağlayacaktır .
Bunun tekne yükünün tamamen top
size 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
...
ps
saçma değilse, kök olarak çalıştırmayı deneyin.
Seçeneği top
kullanarak 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.txt
bunun 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).
Bulduğum iyi bir cevabımız tarafından Christopher ile Unix ve Linux üzerinde bu soruya kullanımları o top
:
top -n 1 -b > top.out
Bu size 1 yineleme yapıp top
durduracak ve daha sonra bir dosyaya itecektir.