最近升级了tuxedo之后tmboot启动正常,但是tmshutdown停服务的时候老是会报错 tmshutdown: internal error: CMDTUX_CAT:766: ERROR: must run on master node,没办法只能用tmipcrm强制清理,很奇怪。
tuxedo启动的是单机模式SHM,不是MP,而且服务正常使用。
一开始怀疑是系统参数导致的,但是检查了配置也没问题。
最后发现可能是由于升级操作不当,导致有线程残留,表现就是tmipcrm清理完之后还是会有ipc资源残留。
解决方法就是清掉ipc即可,网上找了个脚本,先用了再看结果吧。
#!/bin/bash
if [ $# -eq 1 ]
then
#echo useage: $0 username
username=$1
else
username=`whoami`
fi
ipcs |grep -w $username --color
#清除单前用户ipc资源
for x in `ipcs -m | grep -w $username --color|awk '{print $2}'`
do
ipcrm -m $x
done
for y in `ipcs -s | grep -w $username --color|awk '{print $2}'`
do
ipcrm -s $y
done
for z in `ipcs -q | grep -w $username --color|awk '{print $2}'`
do
ipcrm -q $z
done
echo -e "\n\t\t\t>>>>>>>>>>>>ipc resource has been cleared>>>>>>>>>>>>>>>>>>>>\n\t\t\t\t"
目前可以了,后续待观察吧。
参考资料:http://m.landingbj.com/t-0-243883-1.html
—————————2018年7月14日21:09:44————————————-
这个根本没有解决我的问题QAQ,神烦,还是会有问题,而且改了ipckey可以坚持几次,不过后面还是不行,只能用tmipcrm -y强制清理。。。。
TO BE CONTINUED
————————–2018年7月16日10:49:30————————————-
今天看到一篇文章,说是因为系统参数pid_max值导致的,pid_max值设置超过32768就会有问题,但是并没有说原因,我测试了一下,好像是好用的,贴出来大家观赏一下吧:
操作系统:
Red Hat Enterprise Linux Server release 6.5 (Santiago)
tuxedo版本:
INFO: Oracle Tuxedo, Version 10.3.0.0, 64-bit, Patch Level (none)
查看pid_max的值:
sysctl -a|grep pid_max
当前为147456
root用户执行修改为32768:
sysctl -w kernel.pid_max=32768
sysctl -p 生效
停掉tuxedo,重新生成tuxconfig文件就行
启动,停止,完全没毛病,后续修改了pid_max也无所谓,不过重新生成tuxconfig还是会有问题,哈哈哈。
就这样吧,楼主菜鸟也搞不明白什么原因,链接在下面,如果访问不了可以vpn你懂的