linux下java进程占用内存过高(排查)

  最近发现一个很奇怪的现象,白天系统业务压力较大的时候服务器cpu,内存使用率正常。晚上业务量小,没人使用系统

的时候cpu正常,内存暴涨的70%以上。

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
内容解释:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称

常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行

1>使用top命令查看 如图显示:


1517233070(1).jpg

2>使用命令 printf "%x\n" pid 可以对应进程id的16进制id 如图:


2.png

3>使用命令jstack pid|grep 16进制id -A 90 可以查看到具体的代码块:


1517233855(1).jpg

这样根据异常信息可以定位 具体问题 ,应该是这些thread正常消耗内存


3.png

唉。。。苦逼的解决中。。。后续更新解决方案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linu...
    七寸知架构阅读 10,991评论 1 71
  • 《线上linux系统故障排查之一:CPU使用率过高》[https://www.jianshu.com/p/6d57...
    爱情小傻蛋阅读 38,375评论 2 40
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,252评论 2 33
  • 在你身边不断的给你放气 当你想要努力学习的时候,他会说算了吧,你要是能学习下去,猪都能上树。 当你上课时候认真听讲...
    平凡孤寂阅读 432评论 0 0
  • 年末将至,你是否还在拼命的复习功课?你是否还在烦恼生活中的琐事?我想说:偶尔也要让紧张的神经休息一下,来一次久违的...
    微光222阅读 661评论 0 1