使stripe_cache_size永久化
我做到了
echo 8192 > /sys/block/md0/md/stripe_cache_size
提高我的RAID性能,它确实帮助了很多。
但我仍然无法弄清楚如何使它成为永久性的。
我试图在/etc/rc.local中设置它 – 其他命令被执行,但它被覆盖到其他地方的256 …任何提示?
添加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
只是为了扩展上一篇文章; 下面的脚本适合我。 只需在“<...>”之间交换您的详细信息即可。 请享用!
#!/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 # ## # ## stripe cache size and read-ahead # ########################################### echo 16384 > /sys/block//md/stripe_cache_size blockdev --setra 16384 /dev/ exit 0
我也试图解决这个问题。 我把我放在rc.local,没有运气。 我在登录后手动启动它。我想你可以编写一个脚本来处理这个并把它放在你的“启动应用程序”中,但如果你没有登录到gnome那就没有用。
sysfsutils包会帮助解决您的问题吗?
原始答案:
我无法弄清楚如何评论你的问题; 我想我会编辑这个答案,因为我会更多地了解你的问题。
你可以发布(或者,如果很长的话,也可以使用pastebin)输出
grep -R md0 /etc/init.d
我没有真正的答案,但也许您可以尝试创建一个简单的upstart启动脚本。 使用.conf扩展名在/ etc / init中创建一个文件。 在文件中:
start on started tty1
exec echo 8192> / sys / block / md0 / md / stripe_cache_size
我的想法是,应该在终端启动时运行命令,这可能与运行命令的时间大致相同。
在黑暗中完全拍摄,因为我没有要测试的RAID 5设置:可能添加一行
chmod -w /sys/block/md0/md/stripe_cache_size
在rc.local中设置后删除写权限。 也许这会阻止它在其他地方改变?
附加
echo 8192 > /sys/block/mdX/md/stripe_cache_size
到/etc/rc.local
。
此页面建议在设置fs时应设置条带大小(或宽度)。 也许tunefs可以帮到这里?