在 Linux 上 Informix 占用高(CPU、内存、磁盘 IO 等),通常不是单一原因,而是以下一类或多类问题叠加。下面按最常见 → 较少见给你一个排查清单。
检查:
onstat -g sql
onstat -g ses
onstat -g act
看:
SQL 执行时间很长Isolation 为 Dirty Read 以外Open检查:
onstat -g sqc
典型现象:
Seq Scan 多解决:
update statistics for table <表名>;
-- 或
update statistics low for all;
检查:
onstat -l
检查:
onstat -p
onstat -g ckp
关注:
ckp 频繁bufwaits 高常见参数:
BUFFERSSHMVIRTSIZELOCKS现象:
检查:
iostat -x 1
DBSPACETEMP 未配置onstat -g ses | wc -l
常见原因:
onstat -g wrt
onstat -g lck
vm.swappiness 高sysctl vm.swappiness
建议:
vm.swappiness=10
# 1. 看整体
onstat -
onstat -p
# 2. 看谁在跑
onstat -g ses
onstat -g sql
# 3. 看资源
top -p $(onstat - | grep pid | awk '{print $2}')
iostat -x 1
你可以补充:
onstat - 输出我可以帮你精准判断是哪一类问题,甚至直接给你调优参数。