程序内存溢出排查 总结

内存溢出分析


JAVA dump查看线程运行情况:
 
=====查看栈信息=======================
1.查询java程序pid 
  netstat -ntpl | grep 8080
 
2.使用jstack [-l] 进程pid > xxx.log将所有线程信息输入到指定文件中
 
  1)如果程序正常运行:使用jstack [-l] 进程pid > xxx.log将所有线程信息输入到指定文件中 
 
  2)如果程序无响应:使用 jstack -F [-m] [-l] 进程pid >xxx.log强制打印栈信息 
 
=====查看堆信息=======================
 
3.使用top命令找出占用cpu高(或者执行时间很长)的进程pid 
 
4.使用top -H -p 线程pid 找出占用cpu高(或执行时间长)的线程pid 
 
5.将占用cpu高的线程pid转换成16进制(window自带计算器) 
 
6.dump该进程的内存
  jmap -dump:format=b,file=文件名 [进程pid]   将转换后的pid在开始输出的dump文件(xxx.log)中搜索对应线程信息 
 
7.eclipse Memory Analyzer 对dump文件分析
 
赞(3) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » 程序内存溢出排查 总结

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏