---
title: 操作系统参数调优
description: "对于不同的操作系统，通过在操作系统层面调整一些参数配置，可以有效提升服务器性能。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/OceanBase/kunpengocenbase_05_0011.html
sourcePath: /source/zh/kunpengdbs/ecosystemEnable/OceanBase/kunpengocenbase_05_0011.html
indexId: 46a4c96e579930827a63f64d06e421a36b291787620d68c3d910f9f04888f15176
---
# 操作系统参数调优

对于不同的操作系统，通过在操作系统层面调整一些参数配置，可以有效提升服务器性能。

#### 调优方法

通过设置如表1所示的系统参数进行调优。


**表1 操作系统参数优化建议**

| 参数类型 | 参数名称 | 参数含义 | 建议 |
| --- | --- | --- | --- |
| 网络参数 | net.core.somaxconn | socket监听队列的最大长度，频繁建立连接需要调大该值。 | 默认为128，建议配置为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\_local\_port\_range | 本地TCP/UDP的端口范围，本地使用该范围内的端口与远端发起连接。 | 建议的端口范围为3500～65535。 |
| 网络参数 | net.ipv4.tcp\_rmem | socket接收缓冲区的大小，分别为最小值、默认值、最大值。 | 建议最小值、默认值、最大值分别配置为4096、87380、16777216。 |
| 网络参数 | net.ipv4.tcp\_wmem | socket发送缓冲区的大小，分别为最小值、默认值、最大值。 | 建议最小值、默认值、最大值分别配置为4096、65536、16777216。 |
| 网络参数 | net.ipv4.tcp\_max\_syn\_backlog | 处于SYN\_RECVD状态的连接数。 | 建议配置为16384。 |
| 网络参数 | net.ipv4.tcp\_fin\_timeout | socket主动断开之后FIN\-WAIT\-2状态的持续时间。 | 建议配置为15。 |
| 网络参数 | net.ipv4.tcp\_tw\_reuse | 允许重用处于TIMEWAIT状态的socket。 | 建议配置为1。 |
| 网络参数 | net.ipv4.tcp\_slow\_start\_after\_idle | 禁止TCP连接从Idle状态的慢启动，降低某些情况的网络延迟。 | 建议配置为0。 |
| 虚拟内存配置 | vm.swappiness | 优先使用物理内存。 | 建议配置为0。 |
| 虚拟内存配置 | vm.max\_map\_count | 进程可以拥有的虚拟内存区域数量。 | 建议配置为655360。 |
| AIO配置 | fs.aio\-max\-nr | 异步IO的请求数目。 | 建议配置为1048576。 |


#### 查看及修改操作系统相关参数

请修改操作系统内核参数，因为这些参数对系统性能和稳定性具有重要影响。建议您在经验丰富的系统管理员的指导下进行此操作。


表1所示的系统参数均可以通过如下两种方式查看和修改。

- 以下命令只会临时修改参数值，重启操作系统后参数将会恢复到默认值。
  例如查看当前系统中net.core.somaxconn的值：

```
sysctl
net.core.somaxconn
```


  如果需要修改net.core.somaxconn的值，可以通过如下命令设置：

```
sysctl -w
net.core.somaxconn
=NEW_VALUE
```


- 如果想要永久修改net.core.somaxconn的值，需要修改“/etc/sysctl.conf”配置文件并使配置文件生效，操作步骤如下：

  1. 打开“/etc/sysctl.conf”文件。

```
vi /etc/sysctl.conf
```


  2. 按“i”进入编辑模式，在“/etc/sysctl.conf”配置文件中添加以下语句：

```
net.core.somaxconn=NEW_VALUE
```


  3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  4. 使用以下命令使修改的参数值生效。

```
sysctl -p
```
