在 Linux 上调整 IBM Informix 参数,通常分为 ONCONFIG 参数调整、操作系统参数配合 和 动态参数调整 三类。下面给你一个实用、可操作的说明。
cd $INFORMIXDIR/etc
ls onconfig.*
常见文件名:
onconfig.std
onconfig.servername
查看当前使用的配置文件:
onstat -c | head
或:
echo $ONCONFIG
BUFFERS # 数据缓冲区(非常重要)
SHMVIRTSIZE # 虚拟内存初始大小
SHMADD # 虚拟内存每次增加大小
LOCKS # 锁数量
示例:
BUFFERS 200000
SHMVIRTSIZE 32768
SHMADD 8192
LOCKS 20000
BUFFERS 一般根据物理内存的 20%~40% 调整(OLTP 场景)
NUMCPUVPS # CPU VP 数量
NETTYPE # 网络类型与连接数
MULTIPROCESSOR # 是否多CPU
示例:
NUMCPUVPS 4
NETTYPE soctcp,1,50,CPU
LOGSMAX
LOGBUFF
CKPTINTVL
直接编辑:
vi $INFORMIXDIR/etc/onconfig.yourserver
⚠️ 大部分参数需要重启生效
onmode -ky
oninit -v
onmode -wf "LOCKS=30000"
或写入配置文件:
onmode -wm "BUFFERS=250000"
查看:
onstat -c | grep BUFFERS
onmode -p +2 cpu
(增加 2 个 CPU VP)
sysctl -a | grep shm
建议:
kernel.shmmax = 物理内存一半以上
kernel.shmall = shmmax / PAGE_SIZE
修改:
vi /etc/sysctl.conf
kernel.shmmax = 8589934592
kernel.shmall = 2097152
生效:
sysctl -p
ulimit -n
Informix 用户建议:
nofile 65536
修改:
vi /etc/security/limits.conf
informix soft nofile 65536
informix hard nofile 65536
sysctl -a | grep sem
常见:
kernel.sem = 250 32000 100 1024
onstat -i
onstat -g seg # 内存
onstat -g sql # SQL
onstat -p # 性能
onstat -g cfg # 参数
onstat -p
如果你能告诉我:
我可以直接帮你给一套 可直接用的参数模板。