---
title: 修改Gazelle配置文件
description: "为了后续操作过程中可以顺利使能Gazelle，需要修改Gazelle配置文件lstack.conf的配置参数。lstack.conf用于指定lstack的启动参数。"
url: https://www.hikunpeng.com/document/detail/zh/boostdb/systemcollaborativeoptimization/gazellenof/kunpengdbsmysqlgazelle_20_0015.html
sourcePath: /source/zh/boostdb/systemcollaborativeoptimization/gazellenof/kunpengdbsmysqlgazelle_20_0015.html
indexId: 5d65dbd70e6f51ca3ad508c9632d364beebfb2fb7d67d2774600be05dddccdbe97
---
# 修改Gazelle配置文件

为了后续操作过程中可以顺利使能Gazelle，需要修改Gazelle配置文件lstack.conf的配置参数。lstack.conf用于指定lstack的启动参数。

1. 打开Gazelle的配置文件lstack.conf。
  1 vi /etc/gazelle/lstack.conf

2. 按“i”进入编辑模式，按照如下内容修改配置文件中的配置项。

```
dpdk_args=["--socket-mem", "
0,2048,0,0
", "--huge-dir", "
/data/hugepages
", "--proc-type", "primary"]
use_ltran=0
flow_bifurcation=0
kni_switch=0
low_power_mode=0
mbuf_count_per_conn=170
listen_shadow=1
num_cpus="
23,47,71,95
"
num_wakeup="
22,46,70,94
"
host_addr="
192.168.200.8
"
mask_addr="
255.255.255.0
"
gateway_addr="
192.168.200.1
"
devices="
08:4f:0a:01:ec:d3
"
app_bind_numa=1
stack_interrupt=0
```


  其中，如表1所示参数请根据实际情况修改。

**表1 参数说明**

| 名称 | 配置范围 | 缺省值 | 说明 |
| --- | --- | --- | --- |
| dpdk\_args | \- | \- | 用来设置DPDK的初始化参数。 如果为CX4网卡，还需要增加\-d和librte\_net\_mlx5.so参数，即配置为： dpdk\_args=["\-\-socket\-mem", "0,2048,0,0", "\-\-huge\-dir", "/data/hugepages", "\-\-proc\-type", "primary", "\-d", "librte\_net\_mlx5.so"] |
| \-\-socket\-mem | \- | \- | 配置为从内存大页分配的存储空间。当前配置为0,2048,0,0表示为NUMA Node1分配2048MB即2G内存大小，即在7配置的内存大页大小。 说明： 建议将Gazelle配置在网卡所在的NUMA Node运行。Gazelle仅支持4个NUMA Node的场景，若服务器NUMA Node超过4个，则应为Gazelle分配在前4个NUMA Node上。 需要的内存大小与tcp\_conn\_count、mbuf\_count\_per\_conn、rpc\_msg\_max等其他参数的配置有关。 在MySQL业务中，内存计算方法如下：当rpc\_msg\_max配置为32时，固定占用的内存约为90M，每500个连接需要增加20M，每4000个mbuf需要的内存约为10M，另外建议多配置100M提高容错。mbuf个数 = tcp\_conn\_count \* mbuf\_count\_per\_conn。 因此，最高100连接建议配置的内存大小为90M + 4M + 10M + 100M = 204M；最高500连接建议配置的内存大小为90M + 20M + 50M + 100M = 260M；最高1000连接建议配置的内存大小为90M + 40M + 100M + 100M = 330M。 在Redis业务中，内存计算方法如下：固定占用的内存约为90M，每10000个连接需要增加350M，每4000个mbuf需要的内存约为10M，另外建议多配置100M提高容错。mbuf个数 = tcp\_conn\_count \* mbuf\_count\_per\_conn。 因此，最高10000连接建议配置的内存大小为90M + 350M + 1000M + 100M = 1540M；最高20000连接建议配置的内存大小为90M + 700M + 2000M + 100M = 2890M。 |
| \-\-huge\-dir | \- | \- | 配置为5中创建的大页目录。 |
| flow\_bifurcation | 0，1 | 0 | 用于开启或关闭网卡归一功能，此功能仅支持Docker、KVM场景。默认值为0，表示关闭。配置值为1时，表示开启。 说明： 在Gazelle 1.0.2\-56及之后版本支持此参数。 |
| tcp\_conn\_count | 1\-20000 | 1500 | 表示连接数量，默认是1500。配置值应不小于最大连接数+10。如最大连接数为1000时，该值应配置为大于等于1010的值。 说明： 该值最大可配值为20000，如最大连接数量超过20000，则将该值配置为20000，mbuf\_count\_per\_conn值配置为更大的值，使tcp\_conn\_count\*mbuf\_count\_per\_conn>=最大连接数\*40即可。 |
| mbuf\_count\_per\_conn | 1\-INT32\_MAX | 170 | 表示每个连接中使用的mbuf数量，默认是170，根据具体业务资源使用情况调整。num\_cpus配置1个线程时，在MySQL业务和Redis业务中配置为40。 num\_cpus配置多个线程时，可将该值配置为80或更大的值。此时，“\-\-socket\-mem”配置的内存大小需要相应进行增加。 |
| nic\_rxqueue\_size | 512\-8192 | 4096 | 表示网卡接收队列深度，仅支持配置为2的幂次方。 |
| nic\_txqueue\_size | 512\-8192 | 2048 | 表示网卡发送队列深度，仅支持配置为2的幂次方。 |
| num\_cpus | \- | \- | lstack线程绑定的cpu cores编号，编号的数量为lstack线程个数（小于等于网卡多队列数量）。根据具体业务的网络压力进行配置。建议配置为网卡亲和的NUMA node上的最后一个core的编号。 说明： 可使用如下命令查询网卡亲和的NUMA node："cat /sys/class/net/网卡名称/device/numa\_node"。 |
| num\_wakeup | \- | \- | 建议配置为网卡亲和的NUMA node上倒数第二个core的编号。Gazelle\-1.0.1\-53及以后版本取消此参数的使用。 |
| host\_addr | \- | \- | 配置为业务IP地址。 |
| mask\_addr | \- | \- | 配置为业务网段掩码。 |
| gateway\_addr | \- | \- | 配置为业务网关。 |
| devices | \- | \- | 配置为对应业务网口的MAC地址，即6中记录的MAC地址。 |
| app\_bind\_numa | 0，1 | 0 | 可配置为0或1。1为默认值，表示应用的epoll和poll线程绑定到协议栈所在的NUMA，若应用需要使用numactl绑核启动，应配置为0。 |
| stack\_interrupt | 0，1 | 0 | 可配置为0或1。0为默认值，表示Gazelle将独占核。配置为1表示开启中断模式，在没有数据包处理时，Gazelle协议栈线程将会释放CPU资源，从而进入休眠状态；当有数据包到达时，硬件会触发中断信号唤醒协议栈线程，通知协议栈线程立即响应和处理新数据。这一设置可显著降低在空闲状态下不必要的CPU占用。此参数在Gazelle\-1.0.2\-67及以后版本中新增。 说明： 在Gazelle 1.0.2\-67及之后版本支持此参数。 |
| listen\_shadow | 0，1 | 0 | 控制侦听的TCP端口，0代表用1个lstack线程侦听端口，1代表多个lstack线程侦听端口。与num\_cpus配置的个数对应，num\_cpus配置的个数超过1时，此项需配置为1。 |
| rpc\_msg\_max | 1\-8192 | 4096 | rpc内存池中元素（即rte\_mbuf结构体）的数量，默认为4096。启动redis应用时，最高10000连接可使用默认配置，最高20000连接该值可调整为8192。启动MySQL应用时，配置为32即可。 |


  Gazelle版本可通过如下命令查询。 1 rpm -qa | grep gazelle

3. 按“Esc”键退出编辑模式，输入:wq!，按“Enter”键保存并退出文件。
