Sabit diski uyku durumuna geçirin ve yalnızca gerektiğinde uyanın


10

Bilgisayarıma başka bir sabit disk bağlamak istiyorum, bu da zamanın% 99'unu uyumak istiyorum. Sadece birkaç şey için kullanacağım, ancak her zaman monte edilmesine ihtiyacım var.

Bunu başarmak için bilmek istiyorum:

  1. Hangi işlemlerin bir aygıta eriştiğini nasıl kaydederim? Ben sabit disk varsa uyanmak için neyin neden olduğunu söyleyebilmek için günlüğe ihtiyacım var, bu yüzden üzerinde hareket edebilir.
  2. Cihazın daha uzun uyuyabilmesi için yapmam gereken özel çekirdek ayarları var mı?
  3. Sabit diskin uyku aralıklarını nasıl ayarlarım?

Yanıtlar:


13

Uyku aralığına "APM" (Otomatik Güç Yönetimi) ve iş mili_zamanı denir. Bu şu şekilde kontrol edilir hdparm:

hdparm -B 50 -S 36 /dev/disk/by-label/BACKUP-HDD

HDD'nizi ~ 3 dakika boyunca hareketsiz hale getirecek.


4

Linux'ta olduğunuzda, fatraceher dosya erişimini günlüğe kaydeden ve hangi işlemin sorumlu olduğunu bildiren yeni yardımcı programı kullanabilirsiniz :

https://launchpad.net/fatrace

Daha fazla bilgi burada:

http://www.piware.de/2012/02/fatrace-report-system-wide-file-access-events/

Linux çekirdeği 2.6.37'den beri mevcut olan linux fanotify API'sini ( daha fazla ayrıntı ) kullanır.

fatrace Temmuz 2014 itibariyle tüm dağıtımlar tarafından paketlenmemiştir (yakın zamanda debian testine girmiştir, bu yüzden 'jessie' ile gönderilmelidir), ancak kaynaktan kolayca kurulabilir.


1
"En" dağılımları ile ne demek istediğini bilmiyorum. Her zamanki gibi Debian bir şey elde eden son dağıtımdır. Fedora'da bir süredir kullanıyorum ...
Michael Hampton

3

http://en.wikipedia.org/wiki/Fuser_%28Unix%29 - fuser, hangi işlemlerin belirli bir dosya, dosya sistemi veya yuva kullandığını göstermek için kullanılan bir UNIX komutudur.

http://sourceforge.net/projects/hdparm/ - Linux altında ATA / SATA sürücü parametrelerini alın / ayarlayın (-S seçeneğini arayın)

http://sg.danny.cz/sg/sg3_utils.html - sg3_utils paketi, aygıtlara SCSI komutları gönderen yardımcı programlar içerir. Geleneksel olarak SCSI ile ilişkili taşımalardaki aygıtların yanı sıra (sg_start'ı arayın)


Bilgilendirici yanıtınız için teşekkürler! Füzer bana sadece hangi işlemlerin bir dosya kullandığını söyler, komutu veren örnekte dosya sistemi och soketi. Bir işlem, aygıt kök dizininin içeriğini listelemek gibi hızlı bir şey yaparsa çok yararlı olsa da, bir döngüde çalışan füzer olsa bile bunu özleyebilirim. Durmasını söyleyene kadar tüm aktiviteyi bekleyecek ve günlüğe kaydedecek bir şey olsaydı, bu durumda daha da yardımcı olurdu. Biliyor musun?
Silinmiş

Sanırım hdparam uyumadan önce bekleme süresini ayarlamak için ne kullanacağım? Ve sg3_utils sadece güçlü bir araçtır ama bu durumda kullanmayacağım? (Sanırım HDD hdparam kullanarak kurduktan sonra ne zaman uyku gerektiğini belirtmek zorunda kalmayacak mıyım?)
Silindi

3

btraceveya blktrace(bir sarmalayıcı btrace) çekirdek blok G / Ç izler ve orada size yardımcı olabilir.


2

lsof +D /path/to/mount belirtilen yolda açılan herhangi bir dosyayı içeren her işlemi göstermelidir.


0

Benzer bir sorunum var. Zaman zaman kullandığım verilerle /dev/sdbOS (Ubuntu Xenial tabanlı Linux Mint 18.1) ve HDD ile SSD var /dev/sda. Her iki disk de şifrelenir. HDD'nin bölümleri monte edilmemiştir. Her neyse, birkaç dakikalık periyotlarda HDD uyanır, sonra uyur, sonra tekrar uyanır. Dağınıklık.

Burada, kötü davranış sürecini bulmanızı öneren yararlı bir cevap içeren yinelenen bir soru var auditd.

apt-get install auditd
auditctl -w /dev/sda -p rwa

Sonra HDD'yi uyumaya zorlarım hdparm -Y /dev/sda. Sonra HDD'nin tekrar döndüğünü duyana kadar bekleyin. Sonra koş ausearch -f /dev/sda. Benim durumumda aşağıdaki gibi girişleri gösterir.

time->Sat Feb 25 12:38:17 2017
type=PROCTITLE msg=audit(1488022697.651:1744): proctitle=2F7573722F6C69622F756469736B73322F756469736B7364002D2D6E6F2D6465627567
type=PATH msg=audit(1488022697.651:1744): item=0 name="/dev/sda" inode=376 dev=00:06 mode=060660 ouid=0 ogid=6 rdev=08:00 nametype=NORMAL
type=CWD msg=audit(1488022697.651:1744):  cwd="/"
type=SYSCALL msg=audit(1488022697.651:1744): arch=c000003e syscall=2 success=yes exit=12 a0=f3fb90 a1=800 a2=7f4745221f64 a3=30 items=1 ppid=1 pid=18520 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="pool" exe="/usr/lib/udisks2/udisksd" key=(null)

İlgili bölüm exe = "/ usr / lib / udisks2 / udisksd" dir . Ben de smartmontoolskimin smartdsuçlu olduğunu da vardı . smartmontoolsİle udisk2hizmeti kaldırdım ve durdurdum service udisks2 stop. Bundan sonra HDD beklendiği gibi uyur.

udisks2Örneğin, Diskler uygulamasını açtığımda otomatik olarak başlayacağını unutmayın , bu yüzden tekrar durdurmak zorundayım. Diğer bir dezavantaj, SMART parametrelerinin her iki disk için izlenmemesidir, bu da iyi değildir, ancak geçici bir çözüm olarak uygundur.

Ayrıca net olmayan bir şey, bu hata raporununudisks2 şimdi çekirdek tarafından yapılan yoklama diskleri yapmadığını söylüyor . Ancak kanıtlar aksini gösteriyor gibi görünüyor.

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.