Hangi sürecin düzenli olarak diske yazdığını nasıl bulabilirim?


40

Hangi işlemin sürekli diske yazdığını nasıl bulabilirim?

İş istasyonumun sessizliğe yakın olmasını seviyorum ve sadece sessiz fanlara sahip yeni bir sistemi (P8B75-M + Core i5 3450s - 's' çünkü daha düşük TDP'ye sahip) kurdum ve Debian Wheezy 64-bit'i kurdum üstünde.

Ve bir şey sinirime bürünüyor: Sabit diskin bir şeyler yazıp yazmadığını ya da bir şeyler arayışını dinleyebiliyorum ( kene ... kene ... kene ... trrrrrr durulayın ve her saniye tekrarlayın).

Geçmişte geçmişte benzer bir sorun yaşadım (çok, yıllar önce) ve bazı CUPS günlükleri ya da bir şey olduğu ortaya çıktı ve basitçe (gerçek) bir RAM diskine giriş yaptı.

Ama burada emin değilim.

Aşağıdakileri denedim:

ls -lR /var/log > /tmp/a.tmp && sleep 5 && ls -lR /var/log > /tmp/b.tmp && diff /tmp/?.tmp

ama orada hiçbir şey değişmiyor.

Şimdi garip olan da, LVM şifre çözme şifremi girmemi isteyen komut istemi gösterdiğinde de deseni duymam.

Yeni kurduğum çekirdeğin / sistemdeki bir şey olabilir mi veya hatalı bir harddiskim var mı?

hdparm -tT /dev/sda doğru bir HD hızı rapor edin (130 GB / sn önbelleksiz, sata 6 GB) ve büyük kaynaklardan (Emacs) sorunsuzca yükledim ve derledim, bu nedenle sistemin kötü olduğunu düşünmüyorum.

(HD, 500 GB'lık Seagate Barracude'dur)


Başka bir şey değil, bu sesi çıkaran bir sabit disk olduğundan emin misin? (PSU fanı dahil fanları kontrol edin. Çok ince bir kablo bir fana çok yakın olduğunda bir kez çok garip bir tıkırtı sesine sahipti ve bazen bıçaklara çok az dokunur ve birkaç "tık" için
sıçrardı

@Mat: Sabit sürücüyü kasanın dışına alacağım (konektörlerin yeterince uzun olması gerekir) ve tekrar rapor edeceğim; )
Cedric Martin

2
Disk dosya sistemlerinizin bağıl veya öğlen monte edildiğinden emin olun. Dosya okumaları, yazma zamanlarının erişim zamanını kaydetmek için inode olmasına neden olabilir.
camh

Yanıtlar:


42

Hangi programların iotopgösterildiğini incelemeye çalıştınız mı? Diske halihazırda ne tür bir işlem yazmakta olduğunu size söyleyecektir.

Örnek çıktı:

Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
    8 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
 1033 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [flush-8:0]
   10 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/1]

1
bahşiş için teşekkürler. İotop'u bilmiyordum . Debian'da apt-get iotop kullanmam gerektiğini bulmak için apt-cache arama işlemi yaptım . Çok havalı emir!
Cedric Martin,

3
Kullandığım iotop -o -b -d 10her 10secs okuma / diske ve kullanılan IO bant genişliği miktarına yazdığı işlemlerin bir listesini yazdırır hangi.
ndemou

15

IO hata ayıklamasını etkinleştirebilir echo 1 > /proc/sys/vm/block_dumpve ardından / var / log / syslog içindeki hata ayıklama mesajlarını izleyebilirsiniz . Bu, geçmiş etkinliklerle bir tür günlük dosyası elde etme avantajına sahipken, iotopyalnızca geçerli etkinliği gösterir.


3
Block_dump etkinken sysloging işlevini etkin bırakmak kesinlikle delilik. Günlüğe kaydetme, günlüğe neden olan, disk faaliyetine neden olan, vb. Disk etkinliğine neden olur. Bunu etkinleştirmeden önce syslog'u durdurun (ve mesajları okumak için dmesg kullanın)
dan3

Kesinlikle haklısınız, ancak etki tanımladığınız kadar çarpıcı olmasa da. Sadece disk aktivitesinde kısa bir göz atmak istiyorsanız, syslog arka planını durdurmaya gerek yoktur.
scai

Yaklaşık 2 yıl önce denedim ve makinemi durdurdu. Koşarken önemli bir şeye sahip olmadığım günlerden biri tekrar deneyeceğim :)
dan3

Denedim, gerçekten bir şey olmadı. Özellikle dosya sistemi tamponlama nedeniyle. Syslog'a yazma, diske yazma işlemini hemen tetiklemez.
scai

1
Bu davayı da işleyen günlük mesajları için oran genel sınırlandırmasının geçerli olduğunu varsayardım (?)
Volker Siegel

5

Disk gürültülerinin bir yazma işlemi sorununa değil yazma işlemine neden olan bir işlemden kaynaklandığını varsayarak , denetim alt sistemini kullanabilirsiniz ( auditdpaketi kurun ). syncAramalara ve arkadaşlarına bir göz atın:

auditctl -S sync -S fsync -S fdatasync -a exit,always

Girişleri izleyin /var/log/audit/audit.log. Denetim günlükleri kendilerini temizledi ise bunu yapmamaya dikkat edin! Check /etc/auditd.confo flushseçeneğin ayarlandığı none.

Dosyalar sık ​​sık temizleniyorsa, muhtemel bir suçlu sistem günlükleridir. Örneğin, gelen bağlantı başarısız girişimlerini günlüğe kaydeder ve birileri makinenizi denetliyorsa, bu bir çok giriş oluşturur; bu, bir diskin makineli tüfek tarzı sesler yaymasına neden olabilir. Temel log daemon sysklogd ile kontrol edin /etc/syslog.conf: eğer bir günlük dosyası adından önce -gelmediyse, her yazma işleminden sonra bu günlük diske temizlenir.


@StephenKitt Huh. Hayır. Soru sahibi Debian'dan bahsetti, ben de bunu Debian paketine bağladım.
Gilles 'SO- kötülük yapmayı bırak'

3

Sürücüleriniz otomatik olarak aşağı doğru dönüyor olabilir, birçok tüketici sınıfı sürücü bugünlerde bunu yapar. Maalesef, hafif yüklü bir sistemde bile, bu durum sürücülerin sürekli olarak dönmelerine ve daha sonra tekrar dönmelerine yol açar, özellikle de sürücü ısısını kontrol etmek için hddtemp kullanıyorsanız veya benzer kullanıyorsanız (çoğu sürücü aptalca SMART sıcaklık değerini sorgulamanıza izin vermez) Sürücüyü döndürmeden - sürgü!).

Bu sadece can sıkıcı bir durum değil, çoğu sürücünün sınırlı sayıda park döngüsüne sahip olması nedeniyle sürücüleri daha hızlı yıpratıyor. örneğin , sorunun açıklaması için bkz. https://bugs.launchpad.net/ubuntu/+source/hdparm/+bug/952556 .

Tüm disklerimde boşta-göreceliğimi aşağıdaki bit kabuk koduyla devre dışı bırakıyorum. /etc/rc.boot komut dosyasına veya /etc/rc.local veya benzerine koyabilirsiniz.

/ dev / sd içindeki disk için? ; yap
  / sbin / hdparm -q -S 0 "$ disk"
tamam

2
sürücüyü döndürmeden SMART okumalarını sorgulayamadığın için beni suskun bırakıyorsun: - / Şimdi açıkçası "aşağı eğirme" sorunu oldukça karmaşık olabilir. Eğilmenin engellenmesiyle ilgili olarak: Bu, HD'nin daha hızlı tükenmesine neden olmaz mı? Demek istediğim: sistem açık olduğu sürece asla "dinlenme" olmaz mı?
Cedric Martin,

IIRC, bazı SMART değerlerini sürücünün dönmesine neden olmadan sorgulayabilirsiniz, ancak sıcaklık test ettiğim sürücülerden hiçbirinde değildir (WD, Seagate, Samsung, Hitachi modelleri dahil). Tabii ki çılgınca bir durum çünkü sıcaklık endişesi bir sürüşü boşta bırakmanın nedenlerinden biri. re: aşınma: AIUI 1. sabit hız değişen hızdan daha az aşınır. 2. sürücülerin kafaları emniyetli bir alana park etmeleri gerekir ve bir sürücü yalnızca bunu birçok kez yapmak için derecelendirilir (birkaç yüz bine kadar IIRC - sürücü her birkaç saniyede bir boşaldığında ve dönüyorsa kolayca aşılır)
cas

Sürücüleri çalışır durumda bırakmanın veya düşürmenin daha iyi olup olmadığı konusunda uzun bir tartışma. Şahsen onları çalışır durumda bırakmanın en iyisi olduğuna inanıyorum - bilgisayarımı geceleri ve dışarı çıktığımda kapatıyorum ama bunun dışında disklerimi asla döndürmüyorum. Bazı insanlar, bilgisayarı açık bırakıyorlarsa veya bilgisayarın uzun süre boşta kalması durumunda, gece saatlerinde onları düşürmeyi tercih ederler ve bu gibi durumlarda, onları çalıştırmak için bırakmalarına karşı birkaç saat boyunca döndürme avantajı tartışılabilirdir. . Yine de hiçbir zaman iyi olmayan şey, sabit sürücünün kısa bir süre içinde tekrar tekrar aşağı ve yukarı doğru dönmesidir.
Micheal Johnson

Ayrıca, birkaç saat boşta kaldıktan sonra sürücünün eğilmesinin biraz saçma olduğunu, çünkü birkaç saat boşta kaldıktan sonra bir saat içinde tekrar kullanılması muhtemeldir. Bu durumda, boşta kalırsa (10 dakika içerisinde) sürücüyü derhal kapatmak daha iyi görünür, ancak birisinin bilgisayarı kullanırken ve ihtiyaç duyulduğunda sürücünün birkaç dakika boşta kalması da mümkündür. tekrar kısa süre sonra tekrar sür.
Micheal Johnson

Sürücünün monte edilmediği zamanlarda bile yazdığı gibi periyodik bir durgunluk sesi (3-4 kez / saniye) çıkardığını duyduğumda sorunumu çözeceğinden eminim! Ancak bu komutu çalıştırdıktan sonra hala sesi duyuyorum. Endişe verici bir şekilde, dahili SSD'mi yedeklemek için kullandığım sürücü ...
Michael

1

Smart'ın ahududu pi'mde tekrar tekrar açılmasına neden olan harici bir USB diske neden olduğunu buldum. SMART genellikle iyi bir şey olsa da, tekrar devre dışı bırakmaya karar verdim ve o zamandan beri istenmeyen disk aktivitesi durdu


Smart daemon'u USB diskleri taramayacak şekilde yapılandırabilirsiniz, çoğu iyi linux dağıtımı bunu varsayılan olarak yapar.
17:17

1

Bunu biraz mahvedebilirsin. Çoğu için daraltmak gerekir.

find / -mount -newer /proc -print

/ Files sisteminin fiziksel aygıtında önyüklemeden bu yana değiştirilmiş dosyaları verin. Dosyaları bilmek muhtemelen yazarı tanımlamaya yardımcı olacaktır.


1

Tam diske göre daraltmanız gerekirse aşağıdakileri kullanın:

çalıştırın lsblkve cihaz numarasını arayın. Aşağıdaki durumda9:126

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda           8:0    0   7.3T  0 disk  
└─md126       9:126  0  13.8T  0 raid0 /mnt/InternalPhase
sdb           8:16   0   7.3T  0 disk  
└─md126       9:126  0  13.8T  0 raid0 /mnt/InternalPhase
sdc           8:32   0   7.3T  0 disk  
└─sdc1        8:33   0   7.3T  0 part  /mnt/InternalFBE

çalıştırmak lsof | grep '9,126'ile :birlikte yerine ,yukarıdaki disk sayısı ile karşılaştırıldığında. Benim durumumda bu şöyle görünür:

bash      389162            root  cwd       DIR              9,126      4096  449183796 /mnt/InternalPhase/0000000001/CHANNEL01/LIVE/PHASE/DATA/2018/10/04

389162kullanarak öldürmek PID ile :

kill -9 389162

-1

Sorun, sistemin varsayılan olarak 5 saniye kadar bir süre boyunca disk tamponlarından diske veri atması gerekmesidir. Bu nedenle, eğer disk aşağı doğru dönerse, bir yıkama gerektiğinde tekrar tekrar açmaktan başka bir seçenek kalmayacaktır. Bu yüzden, sorun, dönüşleri ve disk güç yönetimi özelliklerini tamamen devre dışı bırakmaktan başka bir şekilde önlenemez hdparm -B 255 /dev/hdax. Bu muhtemelen daha iyi bir seçenektir, çünkü sıklıkla yeniden başlatmak çoğu zaman sadece sürekli kalmaktan daha fazla zarar verebilir.


1
Sifon verecek herhangi bir veri varsa, yalnızca verileri siler. Disk gerçekten kullanımda değilse, temizlemek için arabelleğe alınmış herhangi bir veri olmayacaktır.
Micheal Johnson
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.