`
redsky008
  • 浏览: 352365 次
  • 性别: Icon_minigender_1
  • 来自: 成都正在项目
社区版块
存档分类
最新评论

搜集的一篇OutOfMemoryError

阅读更多
最近遇到如下问题,主要是在做线程池+数据库连接池时遇到的,虽然有如下解决方案,但效率还是没有多大提升了。

ThreadPoolExecutor threadPool = new ThreadPoolExecutor(10, 3000, 1,
TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(3000),
new ThreadPoolExecutor.CallerRunsPolicy());


具体链接如下:
http://topic.csdn.net/u/20071012/10/bfc0c3c0-cc4a-4cfd-a1e3-76158efc8455.html

Exception in thread "CompilerThread0" java.lang.OutOfMemoryError: requested 
32756 bytes for ChunkPool::allocate. Out of swap space? 
Possible causes: 
  - not enough swap space left, or 
  - kernel parameter MAXDSIZ is very small. 

解决如下:

-Xms512m -Xmx768m -XX:MaxPermSize=128m -XX:NewSize=300m -XX:MaxNewSize=300m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xss128k
分享到:
评论

相关推荐

    OutOfMemoryError-8种典型案例分享.rar

    这篇文章将深入探讨八种典型的`OutOfMemoryError`场景,并提供相应的解决策略。 一、堆内存溢出 这是最常见的`OutOfMemoryError`类型,当Java堆内存不足以创建新的对象时发生。解决方案包括调整JVM的堆大小(`-Xms`...

    实例解决Java异常之OutOfMemoryError的问题

    该错误可以发生在 Java 堆、虚拟机栈、本地方法栈和直接内存等几个运行时区域中,本篇文章将分别对这几个区域的 OutOfMemoryError 异常进行详细的分析和解决。 一、 Java 堆溢出 Java 堆用于存储对象实例,只要...

    OutOfMemoryError_8种典型案例分享.pdf

    在本篇文档中,将详细介绍java.lang.OutOfMemoryError的8种典型案例,并讨论它们的成因和解决方法。这些案例包括Java堆内存溢出、永久代空间溢出、元空间溢出、无法创建新的本地线程、交换空间不足、请求的数组大小...

    java内存溢出原因

    本篇文章将详细解析三种常见的Java内存溢出类型:JVM PermGen space溢出、JVM heap space溢出以及Native Heap溢出,并提供相应的解决方案。 1. **JVM PermGen space溢出** - ** PermGen space** 是JVM内存模型中的...

    超硬核!!!一篇文章搞定整个JVM运行时数据区

    Java堆被分为新生代和老年代,便于垃圾收集器进行不同策略的内存回收。堆的大小可以通过JVM参数`-Xmx`和`-Xms`进行调整。当堆内存无法扩展或分配新对象时,也会抛出`OutOfMemoryError`。 3. **程序计数器(Program ...

    高级篇.pdf

    在Java高级篇中,我们探讨了一系列重要的技术更新和优化方法。Java 8引入了lambda表达式和Stream API,使得代码更加简洁和高效。时间API的改进提供了更好的日期和时间处理。Java 9引入了Jigsaw模块系统,提高了代码...

    2021面试题总结JVM篇.pdf

    - **减少内存碎片**: 使用复制算法可以在每次垃圾收集后,将存活对象集中到一块连续的空间中,从而避免内存碎片问题。 通过这些详细的解释,我们可以更好地理解JVM内存管理的核心概念和技术细节,这对于理解和优化...

    JAVA高级知识,JVM篇

    ### JAVA高级知识——JVM篇 #### 一、JVM内存模型 JVM(Java Virtual Machine,Java虚拟机)作为Java程序的运行环境,其内存管理机制是理解JVM的关键。JVM内存主要分为以下几个部分: 1. **程序计数器(Program ...

    jvm思维导图 .pdf

    本篇将详细介绍这些内存区域以及相关的垃圾收集算法。 1. 堆内存: 堆内存是所有线程共享的一块内存区域,主要用来存储对象实例。堆被分为新生代(Young Generation)和老年代(Tenured Generation),新生代...

    基于软引用实现的缓存,当内存不够使会自动释放缓存内容,以避免OOM

    基于软引用实现的缓存是一种优化策略,它能够帮助我们平衡性能和内存使用,防止因内存过度消耗而导致的OutOfMemoryError(OOM)。本篇文章将深入探讨软引用在缓存中的应用以及其工作原理。 软引用是Java中的一个...

    Sun JDK 1.6内存管理--调优篇

    垃圾收集(Garbage Collection, GC)是Java的一大特点,Sun JDK 1.6支持多种GC算法,如Serial GC、Parallel GC、CMS(Concurrent Mark Sweep)和G1(Garbage-First)。Serial GC适用于单CPU环境,采用单线程进行垃圾...

    java虚拟机第二版

    本篇文章将深入探讨Java虚拟机的原理与工作流程,帮助你更好地理解和掌握这一关键技术。 一、Java虚拟机结构 1. 类加载器子系统:负责加载类文件,包括启动类加载器、扩展类加载器和应用程序类加载器。它们遵循...

    程序员面试题(基础篇).pdf,这是一份不错的文件

    - **finalize**:Object 类的一个方法,当垃圾收集器准备回收对象时,会调用 finalize() 方法,用于执行对象清理工作,如关闭文件等。但不应依赖此方法进行资源释放,因为它执行的时间和顺序无法保证。 2. **sleep...

    深入JVM笔记word版

    为了更好地理解和掌握JVM内部的工作机制,本篇文章将重点介绍JVM中的几个关键内存区域:程序计数器、Java虚拟机栈、本地方法栈、堆以及方法区。 #### 二、程序计数器(Program Counter Register) 程序计数器是一块...

    JVM虚拟机入门到实战资料

    掌握调优技巧能有效避免OutOfMemoryError等运行时异常,提升系统稳定性。 **五、JVM实战应用** 在实际项目中,JVM的应用不仅限于Java程序的运行。例如,通过JMX(Java Management Extensions)可以实现对远程JVM的...

    OOM小例子,用于验证oom出现以及对应的问题排查

    本篇将通过一个简单的OOM例子来探讨这个问题的发生原因、如何复现以及如何进行问题排查。 一、OOM现象与原因 当Java应用出现OOM时,JVM会抛出`java.lang.OutOfMemoryError`异常。这通常由以下几种情况引起: 1. *...

    JVM 20道面试题和答案.docx

    它是JVM内存区域中最小的一块,也是唯一没有规定OutOfMemoryError情况的区域。 6. **Java内存分配**:在Java中,我们无法直接控制内存分配,但可以通过编程方式影响内存使用。静态域(static)存储在方法区,常量池...

    java主要反射和内存机制

    这篇文档将深入探讨这两个关键概念。 **一、Java反射机制** Java反射机制是Java提供的一种能够在运行时检查类、接口、字段和方法的能力。它允许程序在运行时动态地获取类的信息并操作类的对象。以下是一些关于Java...

    技术人员面试问题之JAVA篇.doc

    - `finalize` 是一个特殊的方法,用于在对象被垃圾收集器回收前进行清理工作,但不推荐依赖此方法。 2. **匿名内部类**: - 可以继承其他类,也可以实现接口。匿名内部类常用于简化代码,尤其是需要短暂实现某个...

Global site tag (gtag.js) - Google Analytics