linux 常用内核参数
时间: 2023-10-21 20:31:12 浏览: 44
1. vm.swappiness:控制内存交换行为,值越高,越容易交换,值越低,越不容易交换。
2. vm.overcommit_memory:控制内存分配行为,0 表示按照传统的方式,1 表示内存总是被允许超过物理内存大小,2 表示不允许超过物理内存大小。
3. net.ipv4.ip_forward:控制 IP 转发,值为 1 表示允许转发,值为 0 表示不允许转发。
4. net.ipv4.tcp_syncookies:控制 TCP SYN Cookies,值为 1 表示启用,值为 0 表示禁用。
5. net.core.somaxconn:控制 TCP 连接数,值为最大连接数。
6. kernel.shmmax:控制共享内存的最大大小。
7. kernel.shmall:控制系统中所有共享内存页的总数。
8. kernel.sem:控制系统中的信号量。
9. fs.file-max:控制系统中最大打开文件数。
10. kernel.sysrq:控制系统的 SysRq 功能。值为 0 表示禁用,值为 1 表示启用。
相关问题
alpine 内核参数优化
Alpine Linux是一个基于musl libc和BusyBox的轻量级Linux发行版,由于其轻量级的特性,使用默认内核参数即可满足大部分使用场景。不过,如果你需要进一步优化系统的性能,可以考虑调整一些内核参数。以下是一些常用的Alpine内核参数优化方法:
1. 文件系统参数优化
可以通过修改文件系统参数来提高文件系统的性能。具体来说,可以修改以下参数:
- noatime:关闭文件的访问时间戳更新,避免在读取文件时更新访问时间戳,从而减少磁盘I/O操作。
- nodiratime:关闭目录的访问时间戳更新,避免在读取目录时更新访问时间戳,从而减少磁盘I/O操作。
- barrier=0:关闭文件系统数据写入时的校验机制,从而提高写入性能。
可以在挂载文件系统时添加以下参数:
```
mount -o noatime,nodiratime,barrier=0 /dev/sda1 /mnt
```
2. 网络参数优化
可以通过修改网络参数来提高网络性能。具体来说,可以修改以下参数:
- net.ipv4.tcp_fin_timeout:控制发送FIN包后等待对方回复ACK包的时间,默认为60秒,可以缩短该时间来加速连接释放。
- net.ipv4.tcp_keepalive_time:控制多长时间后发送TCP的Keepalive包,用于检测连接是否已经断开,默认为7200秒,可以缩短该时间来加速连接释放。
- net.core.somaxconn:控制待处理连接队列的最大长度,默认为128,可以增大该值来提高系统处理连接的能力。
可以通过修改/etc/sysctl.conf文件来设置以上参数。例如:
```
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.core.somaxconn = 1024
```
3. 内存参数优化
可以通过修改内存参数来提高系统的内存使用效率。具体来说,可以修改以下参数:
- vm.swappiness:控制内核在内存不足时使用交换空间的倾向性,默认为60,可以降低该值来减少内存换页操作,提高系统性能。
- vm.dirty_background_ratio:控制脏页在内存中的比例,默认为10,可以增大该值来减少写入磁盘的次数,提高系统性能。
可以通过修改/etc/sysctl.conf文件来设置以上参数。例如:
```
vm.swappiness = 10
vm.dirty_background_ratio = 20
```
以上是一些常用的Alpine内核参数优化方法,具体方法应根据实际情况选择。
linux内核启动优化
Linux 内核启动优化是指在启动过程中对内核进行改进,以使其能够更快速地启动。这可以通过调整启动参数、编译内核时的选项、使用内核模块化等方式实现。
具体来说,你可以通过以下方法来优化内核的启动:
- 在编译内核时选择合适的内核选项。例如,使用 "make localmodconfig" 命令可以编译只包含系统中实际使用的模块的内核,这样可以减少内核大小和启动时间。
- 在启动内核时使用合适的启动参数。例如,可以使用 "quiet" 参数来减少内核在启动时的输出信息,或者使用 "single" 参数来进入单用户模式,这样可以减少启动过程中要做的工作量。
- 使用内核模块化。将内核拆分成模块可以减少内存使用量,并使得内核更加灵活,可以更快地加载所需的模块。
- 使用内核预加载(Kernel Preloading)。这是一种用于加速系统启动的技术,可以将常用的内核模块预加载到内存中,以便在系统启动时能够更快地加载。
总之,通过综合运用上述方法,你可以有效