什么时候sysctl.conf应该在启动时读取,为什么它不能运行? 我有以下设置,当我重新启动时没有被应用:
net.bridge.bridge-nf-call-arptables = 0 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-filter-pppoe-tagged = 0 net.bridge.bridge-nf-filter-vlan-tagged = 0 fs.nfs.nlm_udpport = 32768 fs.nfs.nlm_tcpport = 32768
第一部分是KVM桥接所需要的,第二部分是在已知端口上运行NFS锁pipe理器。 但是,启动后,这些值没有生效。 如果我运行sysctl -p ,那么他们这样做。
这不会是一个大问题,除了我不知道如何重新启动锁pipe理器而无需重新启动。 我真的很想知道为什么sysctl.conf在启动时不工作,但我只能重新启动锁pipe理器。
这是在Ubuntu服务器10.04.2,内核2.6.32-31 – 服务器。 我知道一些守护进程检查他们的configuration文件的权限,如果他们过于宽容拒绝工作,但是sysctl.conf是644 root:root,我很确定是默认的。
看看有些sysctl在启动时会被忽略 。 简而言之,在一些内核模块被加载之前,这些设置被提前应用。
在Ubuntu上,它将作为运行/etc/init/procps.conf文件的upstart守护程序的一部分加载。
检查它在那里,并且你没有禁用它。
如果它与Debian类似,则启动sysctl由/etc/init.d/procps运行。 为了比较,我的默认一个是这样的。
# /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf # Description: Loads kernel parameters that are specified in /etc/sysctl.conf which sysctl > /dev/null || exit 0 for file in /etc/sysctl.conf /etc/sysctl.d/*.conf ; do sysctl $quiet -p "$file"
可能值得检查一下,如果你的runlevel init符号链接是完整的。 (我的只在rcS.d )。 这不是一个敏感的configuration文件,所以644权限不应该是一个问题。