服务器重启后如何保留 blockdev 更改?

服务器重启后如何保留 blockdev 更改?

我正在设置块设备预读缓冲区大小,如下所示:

blockdev --setra 8192 /dev/sda

根据建议这里。问题是重启后它会恢复到 256(默认值)。我需要它保留我设置的值。我该怎么做?我正在Ubuntu 16.04 x64

答案1

您需要安排在启动时运行该命令。

过去,您可以通过将其放在文件中来执行此操作/etc/rc.local。如果您愿意,您仍然可以这样做。只需创建该文件(因为它默认不再存在),它将在下次启动时运行。


您也可以简单地创建一个新的 systemd oneshot 单元,它在启动时运行所需的命令。例如:

[Unit]
Description=Set readahead for the hard drive device
After=local-fs.target

[Service]
Type=oneshot
ExecStart=/sbin/blockdev --setra 8192 /dev/sda

[Install]
WantedBy=multi-user.target

如果您认为该服务器的管理员不熟悉旧的 rc.local 脚本,您可以使用后一种方法。

相关内容