查看pod资源使用情况
kubectl top pod –n $namespace|grep online
以第一行为例:该pod使用cpu51m,使用内存3230mi。
或在开发者中心控制台监控页面监控。
查看k8s节点资源使用情况
kubectl top nodes
NMC监控系统使用情况
堆内存
堆内存使用值(used)接近堆内存设置的最大值(-Xmx)时,容易产生内存溢出问题。
实例是否正常,请求数是否正常
线程监控
是否存在异常线程,例如耗时特别高,线程状态为blocked,大量线程堆积等等情况,具体问题具体分析。
日志收集
1、宕机问题(系统阻塞)
线程堆栈、内存转储
常用命令:jstack $pid >> thread.txt ,jmap -dump:format=b,file=mem.hprof $pid
内存溢出自动生成转储文件(生成在容器/下,如果容器销毁,会一起丢失):
jvm参数添加-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/outofmemory.hprof
操作系统日志(主要看是否被kill):/var/log/message
进程占用的资源情况:top,kubectl top pods –n $namespace|grep online-,docker stats等等
NMC线程监控:查看具体信息。
2、效率问题
NMC线程监控耗时具体信息,客户端录制SPR
3、异常报错
控制台取nc报错详细日志。