文档章节

Linux如何在系统运行过程中修改内核参数(转)

s
 start0cheng
发布于 2015/02/09 23:19
字数 773
阅读 10
收藏 0

RedHat向管理员提供了非常好的方法,使我们可以在系统运行时更改内核参数,而不需要重新引导系统。这是通过/proc虚拟文件系统实现的。/proc/sys目录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改。下面我们以打开内核的 ip转发功能为例说明在系统运行时修改内核参数的两种方法。IP转发是指允许系统对来源和目的地都不是本机的数据包通过网络,RedHat默认屏蔽此功能,在 需要用本机作为路由器、NAT等情况下需要开启此功能。

方法一:修改/proc下内核参数文件内容

直接修改内核参数ip_forward对应在/proc下的文件/proc/sys/net /ipv4/ip_forward。用下面命令查看ip_forward文件内容:

# cat /proc/sys/net/ipv4/ip_forward

该文件默认值0是禁止ip转发,修改为1即开启ip转发功能。修改命令如下:

# echo 1 >/proc/sys/net/ipv4/ip_forward

修改过后就马上生效,即内核已经打开ip转发功能。但如果系统重启后则又恢复为默认值0,如果想永久打开需要通过修改/etc/sysctl.conf文件的内容来实现。

方法二.修改/etc/sysctl.conf文件

默认sysctl.conf文件中有一个变量是

net.ipv4.ip_forward = 0

将后面值改为1,然后保存文件。因为每次系统启动时初始化脚本/etc/rc.d /rc.sysinit会读取/etc/sysctl.conf文件的内容,所以修改后每次系统启动时都会开启ip转发功能。但只是修改sysctl文件不会马上生效,如果想使修改马上生效可以执行下面的命令:

# sysctl �p

在修改其他内核参数时可以向/etc/sysctl.conf文件中添加相应变量即可,下面介绍/proc/sys下内核文件与配置文件 sysctl.conf中变量的对应关系,由于可以修改的内核参数都在/proc/sys目录下,所以sysctl.conf的变量名省略了目录的前面部 分(/proc/sys)。

将/proc/sys中的文件转换成sysctl中的变量依据下面两个简单的规则:

1.去掉前面部分/proc/sys

2.将文件名中的斜杠变为点

这两条规则可以将/proc/sys中的任一文件名转换成sysctl中的变量名。

例如:

/proc/sys/net/ipv4/ip_forward =》 net.ipv4.ip_forward

/proc/sys/kernel/hostname =》 kernel.hostname

可以使用下面命令查询所有可修改的变量名

# sysctl �a

下面例举几个简单的内核参数:

1./proc/sys/kernel/shmmax

该文件指定内核所允许的最大共享内存段的大小。

2./proc/sys/kernel/threads-max

该文件指定内核所能使用的线程的最大数目。

3./proc/sys/kernel/hostname

该文件允许您配置网络主机名。

4./proc/sys/kernel/domainname

该文件允许您配置网络域名。

本文转载自:http://myhat.blog.51cto.com/391263/290138

s
粉丝 3
博文 260
码字总数 0
作品 0
广州
私信 提问
kubernetes1.4新特性(一):支持sysctl命令

sysctl是一个允许改变正在运行中的Linux系统内核参数的接口。可以通过sysctl修改Linux系统内核中的TCP/IP 堆栈和虚拟内存系统的高级选项,而且不需要重新启动Linux系统,就可以实现优化Linux...

Linux就该这么学
2019/04/10
6
0
如何使用 chkconfig 和 systemctl 命令启用或禁用 Linux 服务

对于 Linux 管理员来说这是一个重要(美妙)的话题,所以每个人都必须知道,并练习怎样才能更高效的使用它们。 在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些...

作者: Prakash Subramanian
2018/11/18
0
0
Linux服务管理: chkconfig 和 systemctl 命令

对于 Linux 管理员来说这是一个重要(美妙)的话题,所以每个人都必须知道,并练习怎样才能更高效的使用它们。 在 Linux 中,无论何时当你安装任何带有服务和守护进程的包,系统默认会把这些...

linuxprobe16
2018/11/23
34
0
一名网工对Linux运维的一次经历

我是一名名副其实的网络工程师,驻场于某市数字化城乡管理指挥中心(简称数字城管),主要针对中大型网络系统,路由、交换机、存储、小型机等设备进行维护,主要工作职责主要分为两种: 对网...

linuxprobe16
2018/12/23
40
0
一线互联网linux服务器架构师以及音视频FFmpeg技术分享

前言 整个体系专注于服务器后台开发,知识点包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等 资源列表: 1:...

程序员的1生
2019/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MBTI助你成功,让你更了解你自己

MBTI助你成功,让你更了解你自己 生活总是一个七日接着又一个七日,相信看过第七日的小伙伴,很熟悉这段开场白,人生是一个测试接着又一个测试,上学的时候测试,是为了证明你的智力,可谓从...

蛤蟆丸子
今天
55
0
Android实现App版本自动更新

现在很多的App中都会有一个检查版本的功能。例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求。一般的处理方式是:服务器返回的App版本与当前手机安...

shzwork
昨天
63
0
npm 发布webpack插件 webpack-html-cdn-plugin

初始化一个项目 npm init 切换到npm源 淘宝 npm config set registry https://registry.npm.taobao.org npm npm config set registry http://registry.npmjs.org 登录 npm login 登录状态......

阿豪boy
昨天
87
0
java基础(16)递归

一.说明 递归:方法内调用自己 public static void run1(){ //递归 run1(); } 二.入门: 三.执行流程: 四.无限循环:经常用 无限递归不要轻易使用,无限递归的终点是:栈内存溢出错误 五.递...

煌sir
昨天
63
0
REST接口设计规范总结

URI格式规范 URI中尽量使用连字符”-“代替下划线”_”的使用 URI中统一使用小写字母 URI中不要包含文件(脚本)的扩展名 URI命名规范 文档(Document)类型的资源用名词(短语)单数命名 集合(Co...

Treize
昨天
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部