记一次OOM的解决过程

1 堆

OutOfMemoryError: Java heap space

-Xms256m

-Xmx1024m

dump内存镜像 

jmap -dump:file=d:/aaa.hprof pid

自动dump内存镜像

-XX:HeapDumpPath=./java_pid<pid>.hprof  指定导出堆信息时的路径或文件名

-XX:-HeapDumpOnOutOfMemoryError 当首次遭遇OOM时导出此时堆中相关信息

java崩溃自动打印日志 

-XX:ErrorFile=d:/hs_err_pid<pid>.log

GC日志

-XX:+PrintGC 输出GC日志

-XX:+PrintGCDetails 输出GC的详细日志

-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)

-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)

-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息

-Xloggc:../logs/gc.log 日志文件的输出路径

2 非堆

OutOfMemoryError: PermGenspace

-XX:PermSize=64M

-XX:MaxPermSize=128m

3 栈

OutOfMemoryError:unable to create new nativethread

-Xss512k

StackOverflowError

-Xss2m

杀core jstack pid >> d:/a.txt

4 句柄数资源

too many open files

Linux ulimit -n 65535

Windows 65535

5 GDI资源

listener加入代码,显式dispose资源

IMAGE Font

6 DLL

GDIView.exe

总可用内存 / XSS = count

JDK32位 2G

40M+40M+80M =200M

操作系统预留 DLL

1.8G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值