202103-05 java应用占用内存过高排查的解决方案 故障:收到服务器报警,内存使用率超过80%1.查看使用dstat和top查看内存使用最高的应用使用dstat查到内存占用最高的是java应用,使用2253M内存,但是这台服务器跑了好几个java,具体哪个进程使用top看下资源情况使用top可以看到java应用整体内存使用率超过了70%,其中pid为16494的进程一个应用占了28.7的内存2.定位线程问题使用ps查看16494的线程情况命令:psp16494-L-opcpu,pmem,pid,tid,time,tname,cmd看到16494这个pid的... 继续阅读 >
202101-08 postgresql表死锁问题的排查方式 1.查询激活的执行中的sql,查看有哪些更新update的sql。select*frompg_stat_activitywherestate='active';2.查询表中存在的锁selecta.locktype,a.database,a.pid,a.mode,a.relation,b.relnamefrompg_locksajoinpg_classbona.relation=b.oidwherelower(b.relname)='h5_game';3.杀掉死锁进程selectpg_terminate_backend(pid)frompg_stat_activitywherestate='active'andpid!=pg_backend_pid()--andp... 继续阅读 >
202011-25 排查Java应用内存泄漏问题的步骤 什么是内存泄漏内存泄漏是指java应用的堆内存使用率持续升高,直至内存溢出。内存泄漏的的原因可能有多种分配给应用程序的内存本身过小。而应用的业务代码,确实需要生成大量的对象代码bug,某些需要被回收的对象,由于代码bug,却持续的被引用,导致java虚拟机无法回收这些对象。从而撑爆内存无论哪种内存泄露,我们的解决方法都是要定位到具体是什么对象,占用了大量内存,从而方便我们基于此进行代码分析,debug,找出代码... 继续阅读 >