我做到了
echo 8192 > /sys/block/md0/md/stripe_cache_size
来提高我的 RAID 性能,它确实有很大帮助。
但我还是不知道如何使它永久存在。
我试图在 /etc/rc.local 中设置它 - 其他命令被执行,但它在其他地方被覆盖为 256...有什么提示吗?
答案1
添加 udev 规则,例如/etc/udev/rules.d/60-md-stripe-cache.rules
:
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="8192"
我还没有真正尝试过,所以可能不是 100% 正确(可能有一些拼写错误),但应该很接近。检查man udev
以了解更多信息。
您可能还想随后运行以下命令以立即应用新规则:
udevadm trigger
udevadm control --reload-rules
答案2
只是对上一篇文章进行扩展;下面的脚本对我有用。只需在“<...>”之间交换您的详细信息即可。尽情享受吧!
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#################NOTE######################
## You are limited by CPU and memory too #
## <Your Name> <Date of Modification> #
## stripe cache size and read-ahead #
###########################################
echo 16384 > /sys/block/<Your RAID5 or 6 Volume>/md/stripe_cache_size
blockdev --setra 16384 /dev/<Your RAID5 or 6 Volume>
exit 0
答案3
我也在尝试解决这个问题。我把它放在 rc.local 中,但没有成功。我登录后手动启动它。我想你可以编写一个脚本来处理这个问题,并将其放在你的“启动应用程序”中,但如果你没有登录到 gnome,那根本没用。
答案4
我没有真正的答案给你,但也许你可以尝试创建一个简单的 upstart 启动脚本。在 /etc/init 中创建一个带有 .conf 扩展名的文件。在文件中输入:
start on started tty1
exec echo 8192 > /sys/block/md0/md/stripe_cache_size
我的想法是,应该在终端启动时运行该命令,这可能与您运行该命令的时间大致相同。