Linux设置内核参数的方法.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:4 大小:132KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux设置内核参数的方法.doc

Linux设置内核参数的方法.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

<XX>软件需求说明书〈版本号〉第页共SECTIONPAGES\*MERGEFORMAT32页Linux设置内核参数的方法内核参数的查看方法使用“sysctl-a”命令可以查看所有正在使用的内核参数。内核参数比较多(一般多达500项),按照前缀主要分为以下几大类:net.ipv4、net.ipv6、net.core、vm、fs、dev.parport、dev.cdrom、dev.raid、kernel等等。相同的linux,安装的组件和使用的方式不一样,正在使用的内核参数是不一样的。所有的内核参数的说明文档是放到/usr/src/linux/Documentation/sysctl中的,如果想知道对内核参数的说明,可以到该目录下查看相应的说明文档。内核参数的的设置方法由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。也可以通过文件的方式进行设置。下面就介绍这两种修改方法。命令设置的方式可以用两种方法实现。1、使用“sysctl-w参数名=值”的方式假设我们把net.ipv4.ip_forward的值修改为1,使用命令“sysctl-wnet.ipv4.ip_forward=1”。2、修改内核参数对应的proc文件内核参数位于/proc/sys/之下,参数名称是以文件所在的路径,并将“/”以“.”来取代。举例来说,/proc/sys/net/ip_forward的参数名称为net.ipv4.ip_forward。同样把net.ipv4.ip_forward的值修改为1,使用命令“echo“1”>/proc/sys/net/ipv4/ip_forward”。注意,这里proc文件跟普通的文件不一样。一般一个文件用echo写入内容之后,会变成一个文本文件,但echo修改proc文件之后还是个空文件。文件设置的方式更改的内核参数默认保存在/etc/sysctl.conf文件中。修改的时候可以直接用vi编辑sysctl.conf文件,增加要修改的内核参数内容,修改的格式为:参数名=值。例如,把net.ipv4.ip_forward的值修改为1,在sysctl.conf中增加下面这行内容:net.ipv4.ip_forward=1文件修改好后,进行保存。然后使用“sysctl-p配置文件名”来使配置生效,如果配置文件是默认的,可以不用输配置文件名,即使用“sysctl-p”。通过文件设置的方式修改的内核参数是在系统重启后将失效(我之前认为修改后的内核参数放在文件中,系统启动的时候会读这个文件,重启后设置应该不会失效。但经过验证,一般会失效,但如果把将默认的boot.sysctl服务打开,所以系统启动时就会执行这个文件的设置)。把我们修改参数的命令写入启动执行脚本文件里/etc/rc.local,这样系统重启后配置就不会失效。文件方式的好处是内核参数设置的值可以用文件保留下来,调用“sysctl-p”可以使文件中的所有配置的值马上生效。内核参数设置的实际应用文件和网络类参数我们一般需要关注的文件类的内核参数有fs.file-max和file-nr。fs.file-max是一个系统能申请到的最大文件句柄数;file-nr是只读的,它与file-max相关,仅用于显示已分配文件句柄的数目、已使用文件句柄的数目、文件句柄的最大数目,如下图所示。suse11lwb:/home/zxin10/steven#sysctl-a|grepfs.file-nrfs.file-nr=515206815744对于文件句柄的问题,对于要处理很多文件的接口机要注意,系统的文件句柄是否够用。以前短信网管项目就出现过文件句柄的问题,现场是Solaris系统,而家里的测试是在HP-UX进行,由于Solaris默认支持的文件句柄比HP-UX少很多(如下图所示),家里测试没有发现,从而导致故障泄漏到现场。操作系统名称默认系统句柄数Solaris256AIX2000SuseLinux1024HP-UX2000NT10000下面介绍修改文件句柄限制的方法。1、按照最大打开文件数量的需求设置内核参数,并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。#cat/proc/sys/fs/file-max如果设置值太小,修改文件/etc/sysctl.conf的变量到合适的值。2、在/etc/security/limits.conf文件中设置最大打开文件数,下面是一行提示:#<domain><type><item><value>添加如下这行。*-nofile2048这行设置了每个用户的默认打开文件数为2048。注意"nof