`

OutOfMemory 测试

    博客分类:
  • JVM
 
阅读更多

 

 

 

/**
 *  可以触发内存溢出的类,生成headdump文件,分析溢出原因
 * 
 *  jvm参数:-Xmx100m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\logs
 *  -XX:+HeapDumpOnOutOfMemoryError:在内存溢出时输出 headdump日志。
 *  -XX:HumpDumpPath=D:\logs dump文件路径,文件名为:java_pid${进程号}.hprof
 *
 *  输出的文件可以通过visualvm 或 EclipseMemoryAnalyzer 分析
 *
 */
public class OOM implements Runnable {
    byte [] data = null;
    public OOM(){
        data = new byte[1024*1024];
    }
    @Override
    public void run() {
        LockSupport.park();
    }

    public static void testOOM(){
        FixedThreadPool fixedThreadPool =  new  FixedThreadPool(1);
        //FixThreadPool内部是ThreadPoolExecutor
        for(int i=0;i<1000;i++){
            fixedThreadPool.execute(new OOM());
        }
    }
    public static void main(String args []){
        OOM.testOOM();
    }

}

  输出:

 

  

java.lang.OutOfMemoryError: Java heap space
Dumping heap to D:\logs\java_pid9344.hprof ...
Heap dump file created [98084663 bytes in 0.095 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at code.example.base.oom.OOM.<init>(OOM.java:10)
	at code.example.base.oom.OOM.testOOM(OOM.java:20)
	at code.example.base.oom.OOM.main(OOM.java:24)

 

 

  visualvm分析:

    

  

 

 

 

EclipseMemoryAnalyzer分析:



 

 

   分析结果:线程池中的队列占用空间过大导至内存溢出。

  • 大小: 107.2 KB
  • 大小: 58 KB
分享到:
评论

相关推荐

    tomcat out of memory

    标题 "Tomcat Out of Memory" 指的是在运行Apache Tomcat服务器时遇到的一种常见问题,即内存溢出。这通常发生在Tomcat处理大量请求、加载过多应用或资源,或者配置不当导致内存分配不足时。当Java虚拟机(JVM)无法...

    使用Memory Analyzer tool 检测OutofMemory异常

    标题 "使用Memory Analyzer tool检测OutofMemory异常" 涉及到的是Java内存管理的一个重要环节,即如何通过工具分析并解决程序运行时出现的内存溢出问题。Memory Analyzer Tool (MAT) 是由Eclipse基金会开发的一款...

    解决Pytorch 训练与测试时爆显存(out of memory)的问题

    Pytorch 训练时有时候会因为加载的东西过多而爆显存,有些时候这种情况还可以使用cuda的清理技术... if out of memory in str(exception): print(WARNING: out of memory) if hasattr(torch.cuda, 'empty_cache'):

    string-concatenate-outofmemory.rar_crash

    文件名"string-concatenate-outofmemory.js"和"12.6.3-3.js"暗示了这两个文件可能是用来测试字符串连接性能或内存消耗的脚本。通过分析这些脚本,我们可以深入理解问题的根源,并找到解决或避免内存溢出的有效方法。...

    pytorch模型提示超出内存RuntimeError: CUDA out of memory.

    跑模型时出现RuntimeError: CUDA out of memory.错误 查阅了许多相关内容,原因是:GPU显存内存不够 简单总结一下解决方法: 将batch_size改小。 取torch变量标量值时使用item()属性。 可以在测试阶段添加如下代码:...

    outOfMemory:如何使用-XX的示例

    安装 git clone https://github.com/jonboylailam/outOfMemory.gitcd outOfMemory./startTest.sh强调startTest.sh java -Xmx10m -cp classes -XX:OnOutOfMemoryError="./restart.sh" TestOutOfMemory

    online-PAKDD2021阿里云智能运维大赛-OutOfMemory-PredictingMemoryFailuresWi

    然而,在半决赛的在线测试中,他们面临了更大的挑战,这可能反映了实时数据的复杂性和不可预测性。 **未来工作与结论**,团队可能计划继续优化特征工程和模型选择,探索更有效的数据平衡策略,以及改进时间到故障...

    Eclipse下使用ANT编译提示OutOfMemory的解决方法

    在使用Eclipse集成开发环境(IDE)进行ANT编译时,有时会遇到“OutOfMemory”错误,这通常意味着ANT在尝试编译大量代码或者运行复杂构建任务时,分配给它的内存不足。为了解决这个问题,我们需要调整ANT的内存设置,...

    Pytorch GPU显存充足却显示out of memory的解决方式

    今天在测试一个pytorch代码的时候显示显存不足,但是这个网络框架明明很简单,用CPU跑起来都没有问题,GPU却一直提示out of memory. 在网上找了很多方法都行不通,最后我想也许是pytorch版本的问题,原来我的pytorch...

    OutOfMemoryError_8种典型案例分享

    如果系统交换区耗尽,操作系统无法提供足够的虚拟内存,可能会导致抛出OutOfMemoryError: Out of swap space错误。这需要增加物理内存或调整交换区设置。 7. 请求的数组大小超出VM限制(Requested array size ...

    mysql Sort aborted: Out of sort memory, consider increasing server sort buffer size的解决方法

    MySQL中的"Sort aborted: Out of sort memory"错误通常出现在执行涉及排序操作的SQL查询时,如`ORDER BY`或`GROUP BY`语句。当MySQL在处理这些查询时,它会使用一个名为`sort_buffer_size`的内存缓冲区。如果查询所...

    Android系统重启问题的归类

    OOM(Out Of Memory)导致的panic:当系统内存资源耗尽,内核无法找到可杀进程时,会触发“Kernel panic - not syncing: Out of memory and no killable processes...”。这类问题通常与内存管理有关,可能涉及某些...

    memory test

    "memory test"是一个针对Linux环境的工具,主要用于测试系统中运行的程序对CPU和内存资源的利用情况。本文将深入探讨Linux内存测试的重要性和方法,以及如何使用`MemTest-shangchuan.sh`这个脚本来进行测试。 首先...

    遭遇OutOfMemoryError

    接着搜索了"Out of swap space"的问题,但没有找到直接的解决方案。然后尝试通过`-XX:+HeapDumpOnOutOfMemoryError`参数生成堆转储文件,并使用`jHAT`分析,但1.5版本的JVM生成的信息有限,没有找到根本原因。 ...

    ios-摇一摇换皮肤.zip

    如果手机系统是iOS9.0或者以上,开发工具是XCode7.0以上,mac版本是OS X EI Capitan 10.11以上就可以直接真机测试,这里有一个真机测试地址http://ju.outofmemory.cn/entry/182050经过测试,能实现。如有问题,欢迎...

    如何规划性能测试流程

    如何规划性能测试流程.明天第二届互联网测试技术交流会将在杭州举行了,明天也去听听最新的技术动态...因为在代码修改的同时引入的大部分问题集中在OutOfMemory的问题上,所以我们需要将耐久测试放在首位。一般耐久测试

    饭客钻石-带网络验证带压力测试

    #define CTCN_OUTOFMEMORY NM_OUTOFMEMORY #define CTCN_SELCHANGE NM_FIRST #define CTCN_HIGHLIGHTCHANGE NM_FIRST + 1 #define CTCN_ITEMMOVE NM_FIRST + 2 #define CTCN_ITEMCOPY NM_FIRST + 3 #define CTCN_...

Global site tag (gtag.js) - Google Analytics