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.