在 Ubuntu 上跑 IBM Informix 出现“卡”(慢、无响应、连接不上、CPU/IO 高)通常是环境不匹配或配置不合理导致的。下面按最常见原因 → 排查方法 → 解决办法来说明。
不同现象,原因完全不同:
oninit 卡住你可以先确认是哪一种。
Informix 依赖 共享内存 + 信号量,Ubuntu 默认偏小。
ipcs -l
shmmax 太小shmmni 太小semmns 不够# /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmall = 524288
kernel.shmmni = 4096
kernel.sem = 250 32000 100 1024
然后:
sysctl -p
Informix 极度依赖磁盘 IO。
❌ 不推荐:
/home✅ 推荐:
ext4(不要用 btrfs)atimemount -o remount,noatime /informix
新手常把 BUFFERS 设得很大。
onstat -g cfg | grep BUFFERS
onmode -wf 动态调整Informix 对 glibc 版本敏感。
ldd $INFORMIXDIR/bin/oninit
libncurses5apt install libncurses5 libaio1
或:
onstat -g log
onstat -g ioa
onstat -
onstat -g ses
onstat -g sql
onstat -g ioq
onstat -g ntu
top
iostat -x 1
docker run -d \
-p 9088:9088 \
ibmcom/informix-developer-database
优点:
你可以直接告诉我:
onstat - 输出(可打码)我可以一步一步帮你定位到具体参数或命令。