今天开始参照陶辉大神的《深入理解Nginx模块开发与架构解析》学习nginx,读到第一章1.3.4节发现通过配置sysctl.conf配置文件进行内核参数配置的方法,以往都是通过setrlimit函数以及ulimit命令进行一些配置,今天又学到了一种配置参数的方法,但是书中列出的参数,我通过man查询sysctl和sysctl.conf都没发现书中列出配置项的介绍。感觉怎么知道这些配置项的name是正确的呢,于是在网上乱搜,发现了这篇文章,点击打开链接。
文章中提到了/proc/sys目录下的内核参数配置项,我发现了书中的配置项和/proc/sys 目录下的目录结构和文件是一一对应的,因此下次自定义sysctl.conf的时候就有了依据。
例如:书中的 fs.file-max = 99999 fs.file-max 对应的就是/proc/sys/fs/file-max文件。
正如前述链接中所说的,proc/sys目录下存放着大多数内核参数,并且可以在系统运行时进行更改,不过重新启动机器就会失效。/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。
关于/proc/sys下对应的配置文件意义,可以man 5 proc。