2011-03-02 20 views
15

Ubuntu kullanıyorum. Sunucumda sıkça işlem yapan bazı işlemler var, hatta bir "ls" komutu yürütmek için 1 saniyeye mal olacak. Hangi işlemin çok yoğun olduğunu öğrenmek istiyorum, iyi bir komut veya araç var mı?Sıklıkla yapılan işlemi nasıl bulabilirim?

Teşekkürler.

+0

Cevapları kabul etmek için tercih ettiğiniz cevabın yanındaki onay işaretini tıklayın. –

+0

Mümkün yinelenen [linux içinde en i/o cosuming olan süreç nasıl bulunur?] (Http://stackoverflow.com/questions/466496/how-to-find-the-process-which-is-cosuming -the-en-io-in-linux) – dogbane

cevap

21

Ağır olan işlemleri bulmak için iotop'u kullanabilirsiniz.

+3

** sudo ** ile iotop'u çalıştırmayı unutmayın ya da başarısız olabilirsiniz. – Eye

6

iotop, üstteki bir arabirime sahiptir ve her bir işlemin ne kadarını okuduğunu ve yazdığını gösterir.

6

atop'u kullanarak disk okumalarını ve yazılanları başka işlemlerin yanı sıra raporlayabilirsiniz.

Disk utilization — key 'd'

7

hızlı bir yolu /proc/[PID]/io dosyasına bakmaktır.

Örnek:

$ cat /proc/1944/io 
read_bytes: 17961091072 
write_bytes: 8192000 
cancelled_write_bytes: 32768 
+0

En iyi yöntem hakkında yazmışsınız :) İşlemi kontrol etmek için senaryo yazmak için kullanılabilir. Süreç çok fazla io tükettiğinde, sigstop tarafından durdurulabilir ve io aşağı indiğinde, sigcont tarafından uyandırılmalıdır :) – Znik

2

sen pidstat deneyebilirsiniz. Hangi işlemi yüksek iyo yaptığını tanımladığımda yararlı buldum.

İlgili konular