前置條件
- 系統版本 CentOS Linux release 7.6.1810 (Core)
- kernel 版本 4.20.10-1.el7.elrepo.x86_64
- TiDB 版本 3.0.5
- 內存 32G
- CPU 16 Core
注意事項
TiDB不允許修改 操作系統內存分配策略爲 ,只允許爲 2
0
或 1
調整TiDB-Server的內存使用上限
1 修改 inventory.ini
- 根據自己機器實際的內存來設置
- 當 TiDB-Server 進程的
常駐內存
超過這個限制,進程將被殺死 - 並且在TiDB-Server的日誌中拋出 OOM 異常
.....
# 常駐內存上限
MemoryLimit = 25G
.....
注:這個操作改變的是 /etc/systemd/system/tidb-4000.service
文件中的配置
[root@hostname ~]# cat /etc/systemd/system/tidb-4000.service | grep MemoryLimit
MemoryLimit=25G
[root@hostname ~]#
2 滾動更新 tidb (修改完配置文件一定要更新配置)
[root@hostname ~]# ansible-playbook rolling_update.yml
修改日誌保存天數等
修改tidb.yml
設置日誌保留天數
max-backups: 10
以字節爲單位設置查詢的內存配額。默認32G
mem-quota-query: 1073741824
設置最大索引長度
max-index-length: 12288