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 是代表最大文件打开数

相关推荐
未济4 天前
linux 配置环境变量
linux
傲世仙尊4 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.4 天前
进程间通信
linux
Liuqy-054 天前
Linux IO编程——静态库、动态库
linux
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅4 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog4 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
AIgorithmGEEK4 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid