首批通过分布式安全可靠测评,为关键业务系统打造
(可选)配置 sysctl.conf
更新时间:2026-04-09 14:12:04
本文介绍如何通过修改机器的 sysctl.conf 配置,以提高 Linux 系统的性能。
如果是个人试用场景,可以跳过此步骤;如果用于生产环境,建议配置 sysctl.conf。
说明
您必须在每台机器上分别执行此操作。
更改配置
执行以下命令,打开 /etc/sysctl.conf 配置文件:
[admin@test001 ~]$ 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
##设置 core 文件的文件名格式以及目录
kernel.core_pattern = /data/core-%e-%p-%t
其中,kernel.core_pattern 中的 /data 为 OceanBase 数据库的 data 目录。
注意
max_map_count配置不合理的情况下,可能会导致严重的内存泄露。至少需要给 core 文件的目录预留和 OBServer 配置的
memory_limit同等大小的磁盘空间,同时应避免影响到数据目录和日志目录的可用空间。
加载配置
更改配置完成后,执行以下命令,加载配置,使配置生效。
[admin@test001 ~]$ sudo sysctl -p
ARM 环境部署建议
bios/uefi 及内核启动参数开启 NUMA 支持。
在 ARM 和海光架构的环境中,建议修改配置文件
/etc/sysctl.conf,将参数kernel.numa_balancing、vm.zone_reclaim_mode和vm.swappiness设置为0。执行如下命令打开/etc/sysctl.conf文件:[admin@test001 ~]$ sudo vim /etc/sysctl.conf在
/etc/sysctl.conf文件中添加如下内容:##关闭 NUMA Balancing,避免平衡过程中性能发生抖动 kernel.numa_balancing = 0 ##禁用内存回收和重新分配功能 vm.zone_reclaim_mode = 0 vm.swappiness = 0应用
sysctl.conf配置文件里的值:[admin@test001 ~]$ sudo sysctl -p