1 内核参数的查看方法

使用“sysctl -a”命令可以查看所有正在使用的内核参数。内核参数比较多(一般多达500项),按照前缀主要分为以下几大类:net.ipv4、net.ipv6、net.core、vm、fs、dev.parport、dev.cdrom 、dev.raid、kernel等等。相同的linux,安装的组件和使用的方式不一样,正在使用的内核参数是不一样的。

所有的内核参数的说明文档是放到/usr/src/linux/Documentation/sysctl中的,如果想知道对内核参数的说明,可以到该目录下查看相应的说明文档。

2 内核参数的的设置方法

由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。也可以通过文件的方式进行设置。下面就介绍这两种修改方法。

2.1  命令设置的方式

可以用两种方法实现。

1、使用“sysctl -w 参数名=值”的方式

假设我们把net.ipv4.ip_forward的值修改为1,使用命令“sysctl -w net.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文件之后还是个空文件。

2.2  文件设置的方式

更改的内核参数默认保存在/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”可以使文件中的所有配置的值马上生效。

3 内核参数设置的实际应用

3.1  文件和网络类参数

我们一般需要关注的文件类的内核参数有fs.file-max和file-nr。fs.file-max是一个系统能申请到的最大文件句柄数;file-nr是只读的,它与file-max相关,仅用于显示已分配文件句柄的数目、已使用文件句柄的数目、文件句柄的最大数目,如下图所示。

suse11lwb:/home/zxin10/steven # sysctl -a|grep fs.file-nr

fs.file-nr = 5152       0       6815744

对于文件句柄的问题,对于要处理很多文件的接口机要注意,系统的文件句柄是否够用。以前短信网管项目就出现过文件句柄的问题,现场是Solaris系统,而家里的测试是在HP-UX进行,由于Solaris默认支持的文件句柄比HP-UX少很多(如下图所示),家里测试没有发现,从而导致故障泄漏到现场。

下面介绍修改文件句柄限制的方法。

1、按照最大打开文件数量的需求设置内核参数,并且通过检查/proc/sys/fs/file-max文件来确认最大打开文件数已经被正确设置。

# cat /proc/sys/fs/file-max

如果设置值太小, 修改文件/etc/sysctl.conf的变量到合适的值。

2、在/etc/security/limits.conf文件中设置最大打开文件数, 下面是一行提示:

#         添加如下这行。

* - nofile 2048

这行设置了每个用户的默认打开文件数为2048。 注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。要使修改过的最大打开文件数生效,必须对这两种限制进行设定。如果使用"-"字符设定, 则hard和soft设定会同时被设定。硬限制表明soft限制中所能设定的最大值。soft限制指的是当前系统生效的设置值。hard限制值可以被普通用户降低。但是不能增加。soft限制不能设置的比hard限制更高。只有root用户才能够增加hard限制值。

21/212>

linux追加内核参数,Linux设置内核参数的方法相关推荐

  1. linux mint 18虚拟机下设置1080P分辨率的方法

    转自:http://www.jb51.net/article/101472.htm 前言:Linux mint 18发布了,但是在虚拟机下安装,发现没有1080p分辨率的选项,可能是4.4内核的原因? ...

  2. 3DSMax怎么设置摄像机参数_3DSMax设置摄像机参数 小白教程

    3DMax是一款制作建模与动画制作软件,也可以进行动画的制作,但是需要借助摄机的帮助,那3DSMax怎么设置摄像机参数呢?下面小编给大家详细的介绍一下吧 3DSMax怎么设置摄像机参数?有很多小伙伴不 ...

  3. Linux查看DNS服务器及设置DNS服务器的方法

    工具/原料 计算机 Linux操作系统 方法/步骤 方法一,查看配置文件,输入命令cat /etc/resolv.conf,从结构中可以看到DNS是180.76.76.76,备用DNS是114.114 ...

  4. JVM-常见JVM参数、如何查看JVM参数、如何动态设置JVM参数

    1 JVM参数 1.1 标准参数 // 查看java版本 -version // help命令就不用了说了吧 -help // -server // 指定类运行所依赖其他类的路径,通常是类库和jar包 ...

  5. 【Android 组件化】路由组件 ( 注解处理器参数选项设置 )

    文章目录 一.注解处理器 接收参数设置 二.注解处理器 生成路由表 Java 代码 三.博客资源 组件化系列博客 : [Android 组件化]从模块化到组件化 [Android 组件化]使用 Gra ...

  6. linux 网卡设置双ip,CentOS7单网卡设置双IP的方法

    linux系统CentOS7单网卡设置双IP的方法,centos7.5.7.6.7.7设置双IP教程 ifconfig -a 来查看网卡情况 就可以看到enp1s0f0和enp1s0f1等几个网卡,也 ...

  7. linux blender骨骼绑定,Linux下安装Blender

    Blender在Windows下,可以在官方直接下载免安装的版本,下载解压缩就能用. 在Linux下稍微麻烦一点点. 如下3步安装的blender不一定是最新版本,且安装完成后发现设置中文会变为方块. ...

  8. python3函数参数(必选参数、默认参数、关键字参数、可变参数)

    python3函数参数 形参是参数在函数定义过程中的状态,这个过程中没有赋予实际的数值,实参是参数在函数调用过程中的状态,当参数被赋予实际的数值后,它会由形参转为实参. 必选参数在前,默认参数在后,默 ...

  9. oracle 设置 shmmax,安装ORACLE时在Linux上设置内核参数的含义

    前两天看到一篇Redhat官方的Oracle安装文档,对于Linux内核参数的修改描述的非常清晰. 安装Oracle之前,除了检查操作系统的硬件和软件是否满足安装需要之外,一个重点就是修改内核参数,其 ...

最新文章

  1. mfc 开启指定服务器,用MFC实现消息的发送和接收(含服务器)
  2. 骆利群院士最新Science综述:神经环路架构,激发新的AI
  3. Maven搭建简单的SS项目
  4. java 缓存一致性_Java多线程——CPU缓存原理和缓存一致性问题
  5. OpenGL® ES 3.0 Programming Guide - Book Website
  6. 如何查看一个网站是否部署了SSL证书?
  7. 实现qq邮箱换肤(第一季 )
  8. 爬虫入门【10】Pyspider框架简介及安装说明
  9. 软件项目详细设计方案怎么写?
  10. 第043篇:VBA之单元格简写与引用、值与地址
  11. 权变理论计算机管理理论,现代管理理论的主要学派
  12. 我的世界服务器无限重启怎么办,iPhoneX无限重启怎么办?iPhoneX无限重启解决一览...
  13. 导入com.google.android.maps.jar安装包问题
  14. NetApp Storage MetroCluster 双活解析
  15. [ZJOI2015]醉熏熏的幻想乡
  16. ins07001 oracle,社区
  17. 查看自己电脑的开关机记录
  18. 多线程设计模式-线程池模式
  19. 一些无线通信系统模型的概念
  20. ansys 定义变量(关联模型)

热门文章

  1. svn 添加目录 linux,linux-现有目录的SVN设置
  2. MATLAB 长度和像素_MATLAB——单车道NaSch模型
  3. qt中的纯c语言中项目,2使用QT新建c工程
  4. 被替换的项目不是替换值长度的倍数_如果要在Excel中计算单元格内指定的字符长度,我推荐这两个公式.........
  5. java cv bgr2gray_CV_BGR2GRAY vs CV_GRAY2BGR | 学步园
  6. 刷机android8.1 错误7,[Android]错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)...
  7. java判断五张牌中有一对,同花大顺-扑克牌问题一副扑克牌中任意取出五张牌,那五 – 手机爱问...
  8. 一级减速器装配图cad文件_减速器的基本结构,减速箱各组成零件的结构及功用,值得保存...
  9. 图像拼接c语言,安卓上实现图像拼接(JNI调用NATIVE方法)
  10. 洛谷 P3469 [POI2008]BLO-Blockade (Tarjan,割点)