一、sysctl.conf优化
Linux系统内核参数的配置文件为 /etc/sysctl.conf 和 /etc/sysctl.d/ 目录。其读取顺序为:
/etc/sysctl.d/ 下面的文件按照字母排序;然后读取 /etc/sysctl.conf 。
一般所有对系统的修改参数放在 /etc/sysctl.d/ 目录,系统原有的 sysctl.conf 文件保存一些更加基础的配置。
sysctl.conf 可优化参数如下:
# 系统所有进程一共可以打开的文件数量
fs.file-max = 2097152
# 减少交换内存使用,默认60,建议10-30
vm.swappiness = 30
# 脏数据的比例和处理,根据场景不同设置,
# 参考 https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/
# 如果是数据库服务器,希望数据能够尽快安全写入,可降低内存缓存比例
# vm.dirty_background_ratio = 5
# vm.dirty_ratio = 10
# 如果是业务服务器,对数据安全写入无要求,可加大内存缓存比例
# vm.dirty_background_ratio = 50
# vm.dirty_ratio = 80
# 设置为1,内核允许分配所有的物理内存,Redis常用
vm.overcommit_memory = 1
# 系统拥有的内存数,ElasticSearch启动必备
vm.max_map_count = 262144
# 设置为1
net.ipv4.tcp_no_metrics_save = 1
# 禁用 sysrq 功能
kernel.sysrq = 0
# 控制 core 文件的文件名中是否添加 pid 作为扩展
kernel.core_uses_pid = 1
# 设置为1,防止 SYNC FLOOD 攻击
net.ipv4.tcp_syncookies = 1
# 消息队列的最大消息大小,默认8