it-swarm-tr.com

Sabit sürücüye hangi işlemlerin yazıldığını öğrenin

Lenovo T400 ve Ubuntu cihazımda, sabit disk yazma ışığı yanıp sönmeye devam ediyor. Linux'ta hangi işlemlerin sabit sürücüye G/Ç yaptığını bulmak mümkün mü diye merak ediyordum. Tıpkı top gibi, hangi işlemlerin en çok CPU ve bellek kullandığını öğrenebilirsiniz.

33
Tim

Iotop istediğiniz şey için iyi bir araçtır. Ayrıca bir kişinin DISK READ, DISK WRITE, SWAPIN ve IO (toplam yüzde) değerlerinden herhangi birinde birikmiş G/Ç miktarını görüntülemesine izin verir.

  • Sadece basın a ve en aç olan işlemleri en üstte sıralar.
  • Sırayı tersine çevirirseniz, r.
  • Diğer sütunlara göre sıralamak istiyorsanız, sadece sol/sağ tuşuna basmanız yeterlidir.

top gibi sunum oldukça meşgul. Başka bir şey, top sahip sayısız seçeneklere sahip olmamasıdır (örneğin, herhangi birini gizlemeyi seçemem) ilgilenmiyorum), ancak araç özel amacı için yeterince iyi.

42
tshepang

lsof ( man lsof ) kullanabilirsiniz. Aşağıdakiler, yazmaya açık olan tüm dosyaların bir listesini döndürür:

lsof | grep -e "[[:digit:]]\+w"
15
James Sumners

strace kullanın.

2
user541686

Özellikle düşük disk etkinliği için, kısa erişim hatlarının hızlı bir şekilde kaybolmasını önlemek için iotop'u toplu modda kullanmak gerekir. Linux'ta dosya adına göre okuma/yazma dosya sistemini nasıl günlüğe kaydederim? bunun nasıl yapılacağını gösterir.

Şimdiye kadar iotop en iyi genel çözümdür. Aşağıdaki komut, diski kullanan tüm işlemlerin gerçek zamanlı çıktısını verir.

iotop -bktoqqq -d .5

where: -b     is batch mode
       -k     is kilobytes/s
       -t     adds timestamp
       -o     only show processes or threads actually doing I/O
       -qqq   removes output headers
       -d .5  updates every .5 seconds

İşlem kimliğine sahip olduğunuzda, dosyaları

 lsof -p $PID
2
Frank Breitling