此版本已脱敏处理
WAS
wasgc日志
gc日志由was控制台配内存页面详细垃圾回收选项控制,建议勾选。如果关掉了,出现内存不足时会影响分析,没有方向。如果关闭后,需要重启was生效。
查看jvm使用情况
server目录下的日志目录,native_std_err.log
与verbosegc*
,使用grep "mem-info" *
可查看剩余内存、总内存与剩余百分比,取最新一条即可
测试数据源
登录WAS控制台:资源
->JDBC
->数据源
勾选要测试的数据源,点击测试链接
,查看是否成功
查看线程池动态变化情况
登录WAS控制台:监视和调整
->性能查看器
->当前活动
->选中Server
->性能模块
->线程池
->选中要查看的线程池->查看模块
->启动记录
即可查看线程池的变化情况
查看全局超时时间
登录WAS控制台:选中Server
->容器服务
->事务服务
第一项总事务生存期超时
即为全局事务超时时间,一般修改该值即可,但不可超过第四项最大失误超时数
收集javacore、heapdump、core
首先确定输出路径:登录WAS控制台:选中Server
->进程定义
->环境条目
此处配置了上述三文件的输出路径
如果要收集core文件,需先检查Linux的内核参数sysctl -a |grep kernel.core_pattern
如不为core
需先修改/etc/sysctl.conf
增加kernel.core_pattern = core
,然后执行sysctl -p
生效。
黑屏:
#收集javacore:
kill -3 $PID
#收集core:
gcore $PID
#收集heapdump:
$ServerPath/bin/wsadmin.sh
wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
wsadmin>$AdminControl invoke $objectName generateHeapDump
白屏:
登录WAS控制台:选中故障诊断
->Java转储和核心
->勾选Server
,点击堆转储
、Java核心
、系统转储
分别heapdump、javacore、core文件。
检查证书是否超时
WAS 9.0.5.14前的已知BUG,重启可解决
执行$ServerPath/bin/wsadmin.sh
,如果证书过期,会有报错返回,包含报错日志路径,检查日志即可查看过期时间。
IBM MQ
队列管理器状态检查
dspmq
展示状态含义如下:
- Starting 正在启动
- Running 正在运行
- Ending 正在停止
- Ended normally 已经正常终止
- Ended immediately 已经立即终止
- Ended preemtively 已经强制终止
- Ended unexpectively 异常终止
日志信息
- 错误目录:
/var/mqm/errors
- 队列管理器信息:
mqs.ini
- 默认位置:
/var/mqm/qmgrs/队列管理器名
起停队列管理起与通道
strmqm 队列管理器名
endmqm 队列管理器名
endmqm –i 队列管理器名 #不能正常停止时使用
runmqchl -m 队列管理器名 -c 通道名#不使用mqsc时拉起通道方法
检查通道状态
dis chl(*) #会显示所有通道
dis chs(*) #只显示已启动的通道,指定通道名可查看其他通道状态
dis chs(*) where(status ne running) #检查非running的通道
SDR通道需要手动拉起,RCVR通道会随对端SDR通道自启动
重置通道序列号
stop chl($CHLNAME)
reset chl($CHLNAME) SEQNUM(YYYY) #SEQNUM可不带
start chl($CHLNAME)
检查队列信息
dis qs(*) where(curdepth gt 100)#定位有积压的队列
ALTER Q($QName) MON(LOW) #开启监控
dis qs($QName) all #通过LGETTIME( ),LPUTTIME( )可查看最后一次放入和取出时间,通过IPPROCS与OPPROCS可查看消费与生产者线程数;QTIME是消息从进队列到出队列的时间间隔,单位是微妙(除以1000000=秒),且有2个值,前一个是最近一段时间的性能,后一个是较长一段时间的性能
dis chl(*) where (xmitq eq $QNAME)#检查传输队列所属的通道
各值的详细解释可参考IBM队列状态属性
读取队列内容
#cd至MQ安装路径
amqsbcg ${队列名} ${队列管理器名}>输出文件
清理队列
#cd至MQ安装路径
amqsget ${队列名} ${队列管理器名}>输出文件
查看集群信息
dis clusqmgr(*)
常用参数信息:
- STATUS:状态running或inactive为正常状态
- SUSPEND:是否挂起
- QMID:集群队列管理器内部生成的唯一名称,不能重复
- QMTYPE:是否为完全存储库
各值的详细解释可参考IBMDISPLAY CLUSQMGR
隔离并刷新集群信息
suspend qmgr cluster(xxxx) #隔离集群
refresh cluster(xxxx) #刷新
resume qmgr cluster(xxxx)#恢复
日志收集
#cd至MQ安装路径
#AIX /usr/mqm/samp/bin/
#Linux /opt/mqm/samp/bin/
runmqras -section defs,cluster -qmlist $QMGRNAME
常见FDC报错
通过Probe Id识别
- AQ063114:Backward time movement,NTP修改时间触发
- XC805110:CPU使用在20s内超过11000LL触发
- C0618000:MQ错误日志目录下执行
ffstsummary
查看原因,amqrmppa
为端口测试程序
BES
BESMQ
进程检查
ps -ef |grep besmq
:进程包含broker与console,对集群模式部署的BES MQ,只有一台有console进程。
broker状态检查
访问http://$IP:8490/mqconsole
服务
—监控服务
—队列
:查看消息浏览,消费者浏览,实时监控和历史监控等信息
服务
—监控服务
—连接
:查看集群内broker是否连接
清理消息积压
访问http://IP:8490/mqconsole
服务
—监控服务
—队列
–消息浏览
:点击清理队列
起停
先起broker:/usr/besmq/bin/mqadmin start --broker --passport admin $brokerNAME
按情况添加参数--broker-dir $BrokerPath
再起console:/usr/besmq/bin/startconsole
BESAPP
进程检查
ps -ef|grep besapp
进程包含node instance console
控制台
http://IP:6900/console
OS
Device /dev/sdb excluded by a filter
添加的磁盘是在另一个虚拟机中新建的,已经有了分区表,现在的虚拟机并不能识别磁盘的分区表,运行parted命令重做分区表,中途需要输入三次命令
parted /dev/sdb
mklabel msdos
yes
quit
再次运行pvcreate,问是否擦除dos签名,输入y,就可以将磁盘创建为PV了。
合并ZIP
对7z拆分的zip分卷,使用cat xxx.zip.0*>cat xxx.zip
即可完成合并
磁盘扩容
vmware对磁盘进行扩容后有以下几种方式在不重启的情况下扫盘:
- 刷新系统scsi总线:
for FullPathScan in $( ls /sys/class/scsi_host/host*/scan); do echo "- - -" > ${FullPathScan}; done
"- – -" 是通配符,告诉SCSI总线需扫描所有的控制器、通道和LUN - 原理同上,Linux发行商的脚本执行scan
rescan-scsi-bus.sh
partprobe
重读分区表信息,可加上设备名只重读指定设备,适用性更广。
完成后使用pvresize $pvname
调整PV大小使其自适应,VG大小会随VG大小变化而增大。
HA检查
发生HA切换时,相关启动命令存放在/home/hacmp
下,记录了相关组件自启动命令。