首批通过分布式安全可靠测评,为关键业务系统打造
(可选)配置 sysctl.conf
更新时间:2026-04-10 11:58:36
本文介绍如何通过修改机器的 sysctl.conf 配置,以提高 Linux 系统的性能。
如果您是个人用户,可以跳过此步骤;如果您是企业用户,建议配置 sysctl.conf。
说明
您必须在每台机器上分别执行此操作。
更改配置
执行以下命令,打开 /etc/sysctl.conf 配置文件:
sudo vim /etc/sysctl.conf
在 /etc/sysctl.conf 配置文件中添加以下内容:
# for oceanbase
## 修改内核异步 I/O 限制
fs.aio-max-nr = 1048576
## 网络优化
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_slow_start_after_idle = 0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.overcommit_memory = 0
fs.file-max = 6573688
fs.pipe-user-pages-soft = 0
# 修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360
# 此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /data/core-%e-%p-%t
其中,kernel.core_pattern 中的 /data 为 OceanBase 数据库的 data 目录。
注意
max_map_count 配置不合理的情况下,可能会导致严重的内存泄露。
加载配置
更改配置完成后,执行以下命令,加载配置,使配置生效。
sudo sysctl -p
ARM 环境部署建议
bios/uefi 及内核启动参数开启 NUMA 支持。
关闭 NUMA Balancing,避免平衡过程中性能发生抖动,命令如下。
sysctl kernel.numa_balancing=0禁用内存回收和重新分配功能,命令如下。
sysctl vm.zone_reclaim_mode=0