Linux内核常用调优参数

Linux内核常用调优参数

vi /etc/sysctl.conf

复制代码
net.core.rmem_default = 256960
net.core.rmem_max = 513920
net.core.wmem_default = 256960
net.core.wmem_max = 513920
net.core.netdev_max_backlog = 2000
net.core.somaxconn = 2048
net.core.optmem_max = 81920
net.ipv4.tcp_mem = 131072 262144 524288
net.ipv4.tcp_rmem = 8760 256960 4088000
net.ipv4.tcp_wmem = 8760 256960 4088000
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.ip_local_port_range = 32768 65535
net.ipv4.tcp_max_syn_backlog = 2048
fs.file-max = 10240000

sysctl -p 
  1. vm.swappiness:该参数控制系统在内存不足时,内核将页面交换到磁盘的程度。默认值为60,建议值为10-30。

  2. vm.overcommit_memory:该参数控制系统是否允许超额分配内存。默认值为0,建议值为1。

  3. vm.dirty_ratio:该参数控制系统脏页占内存的比例。默认值为20,建议值为5-10。

  4. vm.dirty_background_ratio:该参数控制系统后台写入脏页的比例。默认值为10,建议值为1-5。

  5. vm.dirty_expire_centisecs:该参数控制系统脏页过期时间。默认值为3000,建议值为1000-2000。

  6. vm.dirty_writeback_centisecs:该参数控制系统写回脏页的时间间隔。默认值为500,建议值为100-200。

  7. vm.vfs_cache_pressure:该参数控制系统内核缓存的大小和清理频率。默认值为100,建议值为50-100。

  8. vm.min_free_kbytes:该参数控制系统保留的最小空闲内存。默认值为4096,建议值为65536。

  9. vm.max_map_count:该参数控制系统允许的最大内存映射数量。默认值为65530,建议值为262144。

  10. net.core.somaxconn:该参数控制系统TCP连接的最大排队数量。默认值为128,建议值为1024。

  11. net.core.netdev_max_backlog:该参数控制系统网络设备接收数据包的队列大小。默认值为1000,建议值为5000。

  12. net.core.rmem_max:该参数控制系统TCP接收缓冲区的最大大小。默认值为212992,建议值为524288。

  13. net.core.wmem_max:该参数控制系统TCP发送缓冲区的最大大小。默认值为212992,建议值为524288。

  14. net.ipv4.tcp_fin_timeout:该参数控制系统TCP连接关闭的超时时间。默认值为60,建议值为10-20。

  15. net.ipv4.tcp_tw_reuse:该参数控制系统是否允许重用TIME_WAIT状态的TCP连接。默认值为0,建议值为1。

  16. net.ipv4.tcp_tw_recycle:该参数控制系统是否启用TCP连接回收机制。默认值为0,建议值为1。

  17. net.ipv4.tcp_max_syn_backlog:该参数控制系统TCP连接请求队列的大小。默认值为128,建议值为1024。

  18. net.ipv4.tcp_keepalive_time:该参数控制系统TCP连接的保持时间。默认值为7200秒,建议值为600-1200。

  19. net.ipv4.tcp_max_tw_buckets:该参数控制系统可以处理的TIME_WAIT状态的TCP连接的最大数量。默认值为180000,建议值为262144。

  20. net.ipv4.ip_local_port_range:该参数控制系统可以使用的本地端口范围。默认值为32768-61000,建议值为1024-65535。

  21. net.ipv4.tcp_slow_start_after_idle:该参数控制系统TCP连接空闲一段时间后是否重新进入慢启动状态。默认值为1,建议值为0。

  22. net.ipv4.tcp_no_metrics_save:该参数控制系统是否保存TCP连接的性能指标。默认值为0,建议值为1。

  23. net.ipv4.tcp_mtu_probing:该参数控制系统是否启用TCP MTU探测。默认值为0,建议值为1。

  24. net.ipv4.tcp_congestion_control:该参数控制系统TCP拥塞控制算法。默认值为cubic,建议值为bbr。

  25. fs.file-max:该参数控制系统可以打开的文件句柄数量。默认值为65536,建议值为1048576。

  26. fs.nr_open:该参数控制系统可以打开的文件句柄数量。默认值为1048576,建议值为1048576。

  27. fs.inotify.max_user_watches:该参数控制系统可以监视的文件数量。默认值为8192,建议值为524288。

  28. kernel.sem:该参数控制系统信号量的数量。默认值为250,建议值为512-1024。

  29. kernel.shmmax:该参数控制系统的共享内存大小。默认值为4294967295,建议值为536870912。

  30. kernel.shmall:该参数控制系统的共享内存大小。默认值为2097152,建议值为134217728。

  31. kernel.pid_max:该参数控制系统可以创建的最大进程数。默认值为32768,建议值为524288。

  32. kernel.core_pattern:该参数控制系统在出现核心转储文件时的文件名格式。默认值为core,建议值为/corefiles/core-%e-%s-%u-%g-%p-%t。

  33. kernel.msgmnb:该参数控制系统消息队列的最大大小。默认值为16384,建议值为65536。

  34. kernel.msgmax:该参数控制系统消息队列的最大大小。默认值为8192,建议值为65536。

  35. kernel.sysrq:该参数控制系统是否允许使用SysRq键。默认值为1,建议值为0。

  36. kernel.printk:该参数控制系统内核日志的输出级别。默认值为4 4 1 7,建议值为3 3 3 3。

  37. kernel.randomize_va_space:该参数控制系统是否启用地址空间随机化。默认值为2,建议值为2。

  38. kernel.nmi_watchdog:该参数控制系统是否启用NMI watchdog。默认值为1,建议值为0。

  39. kernel.softlockup_panic:该参数控制系统是否在软锁定时触发内核崩溃。默认值为0,建议值为1。

  40. kernel.hung_task_panic:该参数控制系统是否在任务超时时触发内核崩溃。默认值为0,建议值为1。

  41. kernel.panic:该参数控制系统在内核崩溃时的行为。默认值为0,建议值为10。

  42. kernel.panic_on_oops:该参数控制系统在Oops发生时是否触发内核崩溃。默认值为0,建议值为1。

  43. kernel.exec-shield:该参数控制系统是否启用执行保护。默认值为1,建议值为1。

  44. kernel.dmesg_restrict:该参数控制系统是否限制非特权用户访问dmesg。默认值为1,建议值为1。

ulimit -n和-u可以查看linux的最大进程数和最大文件打开数

永久生效的方法:

修改/etc/security/limits.conf文件

复制代码
* soft nofile 204800
* hard nofile 204800
* soft nproc 204800
* hard nproc 204800

* 代表针对所有用户

noproc 是代表最大进程数

nofile 是代表最大文件打开数

相关推荐
无名之逆20 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
大丈夫立于天地间20 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
cg501721 小时前
Spring Boot 的配置文件
java·linux·spring boot
Dream Algorithm21 小时前
路由器的 WAN(广域网)口 和 LAN(局域网)口
网络·智能路由器
IT猿手21 小时前
基于CNN-LSTM的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码
网络·cnn·lstm
暮云星影21 小时前
三、FFmpeg学习笔记
linux·ffmpeg
吴盐煮_21 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
rainFFrain21 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon21 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
hyshhhh21 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉