零散知识记录-一个MQ问题
【背景】我有一项零散工作:维护大部门的一台测试公用MQ服务器。当大部分MQ被建立起来,编写了维护手册,大家都按照规程来后,就基本上没有再动过它了。周五有同学跟我反映登录不进去了,周日花了1个小时来解决这个问题。问题应该相对简单,但很常见,因此记录一下。
【排错过程】
1.用户用公用的队列管理器账号创建mq队列管理器的时候提示:AMQ6026: A resource shortage prevented the creation of a WebSphere MQ process.
2.料想是资源不足,用mq的管理员无法登录,使用root登录,su -到mq管理员,提示:su: cannot set user id: Resource temporarily unavailable 怀疑是资源耗尽了。
3. 使用top 指令查看,cpu和内存占用率都很低。怀疑是文件资源和进程数达到了限制。
4.ps -e|wc -l 查看。进程数只有不到300。怀疑文件资源。
5.查看lsof |grep mqm|wl -c ,发现打开了3000多个问题。(假设mq服务器管理员为mqm),好像有点多。
6.ulimit -a 查看资源限制,发现最大打开文件数为1024,应该是mqm超过了打开文件限制数。
7.修改一下最大文件数限制:vi /etc/security/limits.conf 加入两行:soft nofile 65534 、 hard nofile 65534 。
8.reboot,重启所有队列管理器 问题解决。
【待完成】
mqm下建了十几队列管理器,由于有的应用会建立对mq的n个链接,mqm累计打开文件(linux里啥资源都算文件)超过了限制,因此出现问题。
后续需要做一些监控,看看哪个队列管理器设置不合理,然后去改正它。