前言
处理过程
root@VM-10-12-ubuntu:/data/KES/data# systemctl restart kingbaseJob for kingbased.service failed because the control process exited with error code.See "systemctl status kingbased.service" and "journalctl -xeu kingbased.service" for details.

root@VM-10-12-ubuntu:/data/KES/data# systemctl status kingbased.service× kingbased.service - LSB: Start and stop the kingbase serverLoaded: loaded (/etc/init.d/kingbased; generated)Active: failed (Result: exit-code) since Thu 2025-04-24 17:34:49 CST; 8s agoDuration: 18h 46min 7.597sDocs: man:systemd-sysv-generator(8)Process: 2296628 ExecStart=/etc/init.d/kingbased start (code=exited, status=1/FAILURE)CPU: 7msApr 24 17:34:49 VM-10-12-ubuntu systemd[1]: Starting kingbased.service - LSB: Start and stop the kingbase server...Apr 24 17:34:49 VM-10-12-ubuntu kingbased[2296628]: Starting KingbaseES V9:Apr 24 17:34:49 VM-10-12-ubuntu su[2296630]: (to kingbase) root on noneApr 24 17:34:49 VM-10-12-ubuntu su[2296630]: pam_unix(su-l:session): session opened for user kingbase(uid=1002) by (uid=0)Apr 24 17:34:49 VM-10-12-ubuntu su[2296630]: pam_unix(su-l:session): session closed for user kingbaseApr 24 17:34:49 VM-10-12-ubuntu kingbased[2296628]: KingbaseES V9 did not start in a timely fashion, please see data/KES/data/sys_log/startup.log for detailsApr 24 17:34:49 VM-10-12-ubuntu systemd[1]: kingbased.service: Control process exited, code=exited, status=1/FAILUREApr 24 17:34:49 VM-10-12-ubuntu systemd[1]: kingbased.service: Failed with result 'exit-code'.Apr 24 17:34:49 VM-10-12-ubuntu systemd[1]: Failed to start kingbased.service - LSB: Start and stop the kingbase server.

root@VM-10-12-ubuntu:/data/KES/data# tail -200f /data/KES/data/sys_log/startup.log2025-04-23 22:48:38.634 CST [1722732] LOG: config the real archive_command string as soon as possible to archive WAL files2025-04-23 22:48:38.637 CST [1722732] LOG: sepapower extension initialized2025-04-23 22:48:38.642 CST [1722732] LOG: starting KingbaseES V009R001C002B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit2025-04-23 22:48:38.642 CST [1722732] LOG: listening on IPv4 address "0.0.0.0", port 543212025-04-23 22:48:38.642 CST [1722732] LOG: listening on IPv6 address "::", port 543212025-04-23 22:48:38.644 CST [1722732] LOG: listening on Unix socket "/tmp/.s.KINGBASE.54321"2025-04-23 22:48:38.713 CST [1722732] LOG: redirecting log output to logging collector process2025-04-23 22:48:38.713 CST [1722732] HINT: Future log output will appear in directory "sys_log".2025-04-24 09:34:46.492 GMT [2296589] LOG: 1 MB is outside the valid range for parameter "min_wal_size" (2 .. 2147483647)2025-04-24 17:34:46.492 CST [2296589] FATAL: configuration file "/data/KES/data/kingbase.conf" contains errors2025-04-24 09:34:49.591 GMT [2296635] LOG: 1 MB is outside the valid range for parameter "min_wal_size" (2 .. 2147483647)2025-04-24 17:34:49.591 CST [2296635] FATAL: configuration file "/data/KES/data/kingbase.conf" contains errors

root@VM-10-12-ubuntu:/data/KES/data# grep min_wal_size kingbase.confmin_wal_size = 1MB#发现参数只有默认的1MB#然后查看max_wal_sizeroot@VM-10-12-ubuntu:/data/KES/data# grep max_wal_size kingbase.confmax_wal_size = 32GB#发现已调整,说明昨天晚上调整遗漏了。#然后我们进行调整min_wal_size大小至1Groot@VM-10-12-ubuntu:/data/KES/data# grep min_wal_size kingbase.confmin_wal_size = 1GB
root@VM-10-12-ubuntu:/data/KES/data# systemctl start kingbased.serviceroot@VM-10-12-ubuntu:/data/KES/data# systemctl status kingbased.service● kingbased.service - LSB: Start and stop the kingbase serverLoaded: loaded (/etc/init.d/kingbased; generated)Active: active (exited) since Thu 2025-04-24 17:37:21 CST; 4s agoDocs: man:systemd-sysv-generator(8)Process: 2298597 ExecStart=/etc/init.d/kingbased start (code=exited, status=0/SUCCESS)CPU: 7msApr 24 17:37:20 VM-10-12-ubuntu systemd[1]: Starting kingbased.service - LSB: Start and stop the kingbase server...Apr 24 17:37:20 VM-10-12-ubuntu kingbased[2298597]: Starting KingbaseES V9:Apr 24 17:37:20 VM-10-12-ubuntu su[2298599]: (to kingbase) root on noneApr 24 17:37:20 VM-10-12-ubuntu su[2298599]: pam_unix(su-l:session): session opened for user kingbase(uid=1002) by (uid=0)Apr 24 17:37:21 VM-10-12-ubuntu su[2298599]: pam_unix(su-l:session): session closed for user kingbaseApr 24 17:37:21 VM-10-12-ubuntu kingbased[2298597]: KingbaseES V9 started successfullyApr 24 17:37:21 VM-10-12-ubuntu systemd[1]: Started kingbased.service - LSB: Start and stop the kingbase server.
总结
min_wal_size 参数指定了 WAL 文件的最小保留大小。
作用:
设置数据库在任何时候保留的 WAL 文件的最小总量
即使系统负载很低,也会保留至少这么多的 WAL 空间
防止因突然的负载增加导致需要频繁分配新的 WAL 文件
默认值通常为 80MB
max_wal_size 参数指定了 WAL 文件的最大保留大小。
作用:
设置检查点之间允许 WAL 增长的最大总量
当 WAL 大小接近此限制时,会触发检查点操作
这个参数间接控制检查点的频率
默认值通常为 1GB
两者关系和工作原理:
数据库会根据负载动态调整 WAL 文件的数量,在 min_wal_size 和 max_wal_size 之间变化
当系统空闲时,WAL 空间会缩减到 min_wal_size
在高负载时,WAL 空间可以增长到 max_wal_size
如果 WAL 使用量接近 max_wal_size,系统会触发检查点,使 WAL 可以被回收
文章转载自山佳数峰寻道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




