CentOS7.5
今天的经验我们是以CentOS7.5这个linux发行版来讲解的。系统的内核参数涉及到的配置文件和命令分别是:1. /etc/sysctl.conf文件2. syctl命令文件和命令的路径分别如下面图中所示:
看完了-a参数,我们再来看-N和-n这两个参数,这两个参数的用法上面我说到了。这里我们来验证一下。在讲解nginx的书籍上说,和它相关的两个内核参数是:net.core.netdev_max_backlognet.core.somaxconn我们来验证一下这两个参数,先看-N,如下面第一张图中所示:后面跟上对应的内核参数名后,如果内核参数存在,就会输出内核参数名称,如果内核参数不存在,则会输出没有对应文件的错误信息。第二张图中使用的是-n选项,直接输出内核参数对应的值。
在上面的图中我们看到两个内核参数对应的值是1000和128,而书上说,这两个内核参数的值比较小的话,会影响到nginx的性能, 因此需要调整为比较大的值。这个时候我们刚才说到的-w选项、配置文件和-p选项就要工作了。我们先看-w选项,这个选项是用来将内核参数临时设置为某个值。看下面图中的示例,我们将刚才说的两个参数的值从1000和128改成 26144,如下面第一张图中所示,第一个参数net.core.netdev_max_backlog设置成功,第二个参数net.core.somaxconn设置的时候报错。然后使用sysctl -n命令查看时,发现只有第一个参数设置成功了。
再次尝试设置第二个参数net.core.somaxconn,这次将设置的值改小一点,设置成功。说明刚才书上介绍的那个值过大,不能设置。由此可见,书上说的知识不一定对,需要经过实际验证才行。
上面说到-w选项只是临时设置,当我们重启系统再重新登录时,会发现,对应的值全部失效了,如下面图中所示:
要想设置一直生效,就要用到/etc/sysctl.conf这个配置文件,直接将对应的设置写入到这个配置文件中,然后重新加载这个配置文件即可。这样配置就能一直生效。配置如下面第一张图中所示,然后使用命令:sysctl -p重新加载这个配置文件。重新加载后会显示修改的内核参数值,加载完成后,对应的内核参数就变成了修改后的值。如第二张图中所示:
根据自己的需要选择临时生效还是永久生效
本人原创,转载请声明