Fedora 19'da önyükleme yaptıktan ve devam ettirdikten sonra hdparm komutunu nasıl çalıştırabilirim?


10

Ne yazık ki her 5-8 saniyede bir uyumaya çalışan yeni bir HD (WD5000BPVT) aldım. Tıklama gürültüsü oldukça duyulabilir olmakla kalmaz, aynı zamanda 1 saniyelik dönüş süresi günlük kullanımda fark edilir bir gecikme sağlar.

hdparm -B 254 /dev/sdaÇok kısa uykuyu devre dışı bırakacağımı buldum , ancak sürücünün her açılışında bu ayarın nasıl uygulanacağını bilmiyorum. dconf-editorVe 'Güç Yönetimi Tercihleri' HD yerleri bağlamında hem do hiçbir şey uygulamadan oluşmaktadır. Ben hiç yok /etc/hdparmya da /etc/acpiyolları. MATE pencere yöneticisidir.

Fedora 19'da, sürücü her etkinleştirildiğinde bu komutu nasıl çalıştırabilirim?

Yanıtlar:


12

Aynı sorun yaşadım, buradaki çözümlerin hiçbiri ihtiyaçlarıma uygun değildi. Cron kullanmak gerçekten bir çözüm değil, bir çözüm değil, güç bağlandığında / bağlantısı kesildiğinde ancak askıya alındıktan / devam ettirildikten sonra udev kuralları çalıştırılır ve pm-utilsörneğin dizüstü bilgisayarınızın kapağını kapattığınızda Fedora 19'da artık varsayılan olarak kullanılmaz.

Yana systemdşimdi / askıya hibernating sorumludur, bu durumun üstesinden gelmek için sadece uygun yolu yaratmak olduğunu düşünüyorum systemdçizme sonra ve askıya çıkıldıktan sonra hem çalışacaktır birimi.

Notlar:

  • Bunun /dev/disk/by-id/...yerine kullanarak /dev/sda, her zaman doğru diski aldığınızdan emin olabilirsiniz (sda, b, c çekirdek tarafından algılanma sırasına bağlıdır)
  • Birden ExecStartçok diski yapılandırabilmeniz için birden fazla satırınız olabilir

İşte yazdığım birim:

[Unit]
Description=Silence HD
After=suspend.target

[Service]
Type=oneshot
# Disable automatic head parking for the main disk
ExecStart=/sbin/hdparm -B 254 /dev/disk/by-id/ata-ST3250824AS_4N127FD1
# Enable automatic spin down after 30 seconds for the second, infrequently used disk
ExecStart=/sbin/hdparm -S 6 /dev/disk/by-id/ata-ST31000528AS_BVP5H5X1

[Install]
WantedBy=suspend.target basic.target

Bu dosyayı farklı kaydedin /etc/systemd/system/hdsilence.serviceve aşağıdakileri kullanarak etkinleştirin:

systemctl enable hdsilence.service
systemctl daemon-reload

Fedora 20'de de harika çalışıyor. Teşekkür ederim!
Jakob

Peki bu /etc/hdparm.conf 'da eski değişiklikler yapıyor
domih

@domih: hdparm.conf'un Debian olduğunu söyleyebildiğim kadarıyla Fedora'da desteklenmiyor.
Krzysztof Adamski

6

Kendi systemd hizmetinizi oluşturarak veya komutu /etc/rc.d/rc.local dosyasına ekleyerek sistemin önyükleme sırasında komutu çalıştırmasını sağlayabilirsiniz.

Komut her zaman çalıştırmak isterseniz uyanmak uyku / hibernate sonra sistemi, bir senaryoyu ekleyebileceğiniz /etc/pm/sleep.d/ 2 basamak, / usr / lib64 / diğer yazılara bakışla başlar pm-utils / sleep.d (x86_64 olduğu varsayılır). Temel olarak, girdiği duruma bağlı olarak bir parametre alır. Pil gücüyle takılı durumdayken farklı çalışmak istiyorsanız, aynı ana dizindeki power.d / dizinine bazı girişler eklemeniz gerekebilir.


1
creating your own systemd servicedaha spesifik olabilir misin /Etc/rc.d/rc.local dosyam yok.
Pete

1
Systemd belgeler bir systemd hizmet biriminin sözdizimi açıklar. /etc/rc.d/rc.localDosya sadece bir kabuk, oluşturun ve emin onun çalıştırılabilir hale getirilmesidir.
jsbillings

3

AC / pil ile çalışırken farklı ayarlar için, bunu basit bir udevkuralla yaparım , örneğin
/etc/udev/rules.d/98-apmsettings.rules:

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/usr/bin/hdparm -B 128 /dev/sda"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/usr/bin/hdparm -B 254 /dev/sda"

Bu kuracak apmiçin 254dizüstü takılı olduğunu ve sırasıyla olduğunda 128zaman takılı. Ayrıca, askıya alındıktan sonra bile her zaman çalışmalıdır.


1
Kelimesi kelimesine kopyalayarak gibi daha yeni sürümler sahip olanlar için hdparmde /usr/sbin, bu nedenle yolları ayarlayın.
Roman

2

Aynı diske sahibim (ve aynı problem). Aptal ama çalışan çözümüm: Bunu içine koydum /etc/crontab:

-*/5  * * * *   root  hdparm -B 254 /dev/sda

Bu, sürücüye her 12 saniyede bir erişmiyor mu? Bu hat boyunca bir şey düşündüm ama çözüldüğünde biraz uyku istiyorum.
Pete

Her beş dakikada bir. Sistemin güç durumunu kontrol eden bir sarıcı komut dosyası yazabilirsiniz.
Hauke ​​Laging

1

Udev kuralları fiş olayları üzerinde iyi çalışır, ancak askıya alma devam sonra doğru davranış almak için ben böyle bir şey gerekir /etc/pm/sleep.d:

#!/bin/sh

case "${1}" in
    resume|thaw)
    if grep -q 1 /sys/class/power_supply/ADP1/online; then
      /usr/sbin/hdparm -B 254 /dev/sda
    else
      /usr/sbin/hdparm -B 128 /dev/sda
    fi
;;
esac
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.