首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动后如何在Fedora 19上继续运行hdparm命令?

启动后如何在Fedora 19上继续运行hdparm命令?
EN

Unix & Linux用户
提问于 2013-06-23 16:42:20
回答 4查看 15.9K关注 0票数 11

我买了一个新的HD(WD5000BPVT),不幸的是,它每5-8秒就会尝试睡觉.不仅是点击噪音相当可听到,1秒的旋转时间增加了非常明显的延迟,在日常使用。

我发现hdparm -B 254 /dev/sda将禁用非常短的睡眠,但我不知道如何在每次驱动器打开时强制执行此设置。dconf-editor和“电源管理首选项”应用程序对高清设置都没有任何作用。我没有任何/etc/hdparm/etc/acpi路径。伙计是窗户经理。

在Fedora 19上,每当驱动器被激活时,我如何强制该命令运行?

EN

回答 4

Unix & Linux用户

发布于 2013-08-31 18:13:34

我也有同样的问题,这里的解决方案都不适合我的需要。使用cron确实是一种解决方案,而不是解决方案,udev规则是在电源连接/断开时运行的,但在挂起/恢复之后就不再运行,并且在Fedora 19中,当您关闭笔记本电脑的盖子时,默认情况下不再使用pm-utils

由于systemd现在负责挂起/休眠,我认为处理这种情况的唯一正确方法是创建一个systemd单元,它将在启动后和从挂起恢复后运行。

备注:

  • 通过使用/dev/disk/by-id/...而不是/dev/sda,您总是可以确保得到正确的磁盘(sda、b、c取决于内核检测到的顺序)。
  • 可以有多个ExecStart行,这样就可以配置多个磁盘。

这是我写的单元:

代码语言:javascript
复制
[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,然后使用以下方法启用它:

代码语言:javascript
复制
systemctl enable hdsilence.service
systemctl daemon-reload
票数 17
EN

Unix & Linux用户

发布于 2013-06-23 17:43:56

通过创建自己的systemd服务或将命令添加到/etc/rc.d/rc.local,您可以让系统在引导期间运行该命令。

如果希望在睡眠/hibernate之后每次唤醒系统时都运行该命令,则可以将以2位数开头的脚本添加到/etc/pm/ed.d/,查看/usr/lib64 64/pm-utils/ed.d(假设为x86_64)中的其他脚本以获得更多详细信息。基本上,它接受一个参数,取决于它所进入的状态。如果您想要对电池电源进行与插入时不同的操作,您还可能需要在同一个父目录中添加一些登录到power.d/。

票数 6
EN

Unix & Linux用户

发布于 2013-06-23 16:46:56

我有相同的磁盘(和相同的问题)。我愚蠢但有效的解决方案:我把它写进了/etc/crontab

代码语言:javascript
复制
-*/5  * * * *   root  hdparm -B 254 /dev/sda
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/80437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档