我试图在LinuxLinux5.5上对sunrpc.tcp_slot_table_entries进行持久的更改。此值对于NFS客户端的性能非常重要,必须在完成NFS挂载之前设置。
简单地将值放入/etc/sysctl.conf中是行不通的,因为/etc/rc.d/rc.sysinit (它执行sysctl -p)是在装载sunrpc模块之前执行的。
RHEL 4也有同样的问题:
我试着:
install sunrpc /sbin/modprobe -q --ignore-install sunrpc;/sbin/sysctl -w sunrpc.tcp_slot_table_entries=64放在/etc/modprobe.conf (和/etc/modprobe.d/sunrpc)中SUBSYSTEM=="module" ACTION=="add" DEVPATH=="*/sunrpc" RUN+="/sbin/sysctl -w sunrpc.tcp_slot_table_entries=64" (可能必须更改为CentOS 5)放在/etc/udev/rules.d/23-sunrpc.rules中,但没有效果。而且我不喜欢修改/etc/init.d/netfs (来自initscript包)。
那么,您在CentOS 5上成功地完成了它吗?如果是的话,是如何做到的?
编辑:在/etc/modprobe.d/modprobe.conf.dist中找到:
install sunrpc /sbin/modprobe --first-time --ignore-install sunrpc && { /bin/mount -t rpc_pipefs sunrpc /var/lib/nfs/rpc_pipefs > /dev/null 2>&1 || :; }这也许就是为什么我自己添加的调制解调器没有被考虑在内的原因。但我不确定是否应该直接修改该文件,因为它可能被模块init工具更新覆盖.
发布于 2010-09-28 14:28:56
最后,我创建了一个几乎虚拟的init脚本,插入在S15 (请参阅in /etc/rc3.d/),因为模块加载在S14 (nfslock)中,并在S25 (netfs)中使用。
/etc/init.d/sunrpc_tuning:
#!/bin/sh
#
# sunrpc_tuning Tunes /proc/sys/sunrpc (launched after lockd)
#
# chkconfig: 345 15 85
# description: set values to sunrpc after module is loaded
# probe: true
case "$1" in
start)
echo "Setting sunrpc.tcp_slot_table_entries ..."
/sbin/sysctl -w sunrpc.tcp_slot_table_entries=128
;;
*) ;;
esac然后:chkconfig --add sunrpc_tuning
发布于 2010-09-27 17:17:06
你可以把/sbin/sysctl -w sunrpc.tcp_slot_table_entries=64放在/etc/rc.d/rc.local里。
https://serverfault.com/questions/185076
复制相似问题