![Fedora 19에서 시작 및 복구 후 hdparm 명령을 어떻게 실행합니까?](https://linux55.com/image/33247/Fedora%2019%EC%97%90%EC%84%9C%20%EC%8B%9C%EC%9E%91%20%EB%B0%8F%20%EB%B3%B5%EA%B5%AC%20%ED%9B%84%20hdparm%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
새 HD(WD5000BPVT)를 구입했는데 안타깝게도 5~8초마다 절전 모드를 시도합니다. 딸깍거리는 소리가 눈에 띌 뿐만 아니라 부팅 시간이 1초로 인해 일상 사용 시 매우 눈에 띄는 지연이 추가됩니다.
매우 짧은 절전 모드가 비활성화된다는 것을 알았지 hdparm -B 254 /dev/sda
만 드라이브 전원을 켤 때마다 이를 적용하는 방법을 모르겠습니다. 전원 관리 기본 설정 앱은 dconf-editor
HD 설정과 아무 작업도 수행하지 않습니다. 나에게는 /etc/hdparm
길이 없습니다 /etc/acpi
. MATE는 창 관리자입니다.
Fedora 19에서 드라이브가 활성화될 때 이 명령을 강제로 실행하려면 어떻게 해야 합니까?
답변1
나는 같은 문제에 직면했고 여기의 솔루션 중 어느 것도 내 요구에 맞지 않았습니다. cron을 사용하는 것은 실제로 해결책이 아니라 해결 방법입니다. udev 규칙은 전원 켜기/끄기 시 실행되지만 일시 중지/재개 후에는 실행되지 않으며 pm-utils
Fedora 19에서는 더 이상 기본적으로 사용되지 않습니다. 예를 들어 노트북 덮개를 닫을 때입니다.
systemd
이제 일시 중지/최대 절전 모드가 담당하므로 이 상황을 처리하는 유일한 올바른 방법은 시작 후와 일시 중지에서 다시 시작한 후에 실행되는 유닛을 만드는 것 입니다 systemd
.
노트:
/dev/disk/by-id/...
대신 을 사용하면/dev/sda
항상 올바른 디스크를 얻을 수 있습니다(커널이 감지하는 순서에 따라 sda, b, c).ExecStart
여러 디스크를 구성할 수 있도록 여러 줄을 가질 수 있습니다.
제가 쓴 단위는 다음과 같습니다.
[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
이 파일을 다른 이름으로 저장 /etc/systemd/system/hdsilence.service
하고 다음을 사용하여 활성화합니다.
systemctl enable hdsilence.service
systemctl daemon-reload
답변2
자신만의 시스템 서비스를 생성하거나 /etc/rc.d/rc.local에 명령을 추가하여 부팅 중에 시스템이 이 명령을 실행하도록 할 수 있습니다.
매번 명령을 실행하려면일어나 다절전/최대 절전 모드 이후 시스템의 경우 /etc/pm/sleep.d/에 2자리 숫자로 시작하는 스크립트를 추가하고 /usr/lib64/pm-utils/sleep.d(x86_64 가정)에서 다른 스크립트를 확인할 수 있습니다. 자세한 내용은. 기본적으로 입력하려는 상태에 따라 매개변수를 사용합니다. 배터리 전원을 연결했을 때와 다른 작업을 수행하려면 동일한 상위 디렉토리의 power.d/에 일부 로그인 정보를 추가할 수도 있습니다.
답변3
udev
AC/배터리로 실행할 때 다른 설정의 경우 다음과 같은 간단한 규칙을 따릅니다
/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"
이는 노트북이 연결되어 있을 때와 apm
연결 이 끊어졌을 때 별도로 설정됩니다 . 또한 일시 중단에서 다시 시작한 후에도 항상 작동해야 합니다.254
128
답변4
udev 규칙은 플러그 이벤트에서 잘 작동하지만 중단에서 다시 시작한 후 올바른 동작을 얻으려면 다음과 같은 것이 필요합니다 /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