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.
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.
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.
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"
strace kullanın.
Ö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
iotopen 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