jvm 堆正常 线程分配的内存一直上涨
jstack 5599 查询的结果 threadPoolExecutor-2,threadPoolExecutor-1
"threadPoolExecutor-2" #78 prio=5 os_prio=0 tid=0x00007f72480e6000 nid=0x3d1d waiting on condition [0x00007f7296b21000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c01844c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
"threadPoolExecutor-1" #77 prio=5 os_prio=0 tid=0x00007f72480e5000 nid=0x3d1c waiting on condition [0x00007f7296e22000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c01844c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)

"threadPoolExecutor-2" #78 prio=5 os_prio=0 tid=0x00007f72480e6000 nid=0x3d1d waiting on condition [0x00007f7296b21000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c01844c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
"threadPoolExecutor-1" #77 prio=5 os_prio=0 tid=0x00007f72480e5000 nid=0x3d1c waiting on condition [0x00007f7296e22000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000000c01844c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)

...全文
相关推荐
JVM内存空间分配笔记
### JVM内存空间分配详解#### 一、JVM内存模型概览JVM(Java虚拟机)内存模型主要由以下几个部分组成:程序计数器、Java虚拟机栈、本地方法栈、Java堆以及方法区(在JDK 8之后称为元空间
JVM堆内存溢出后,其他线程是否可继续工作的问题解析
JVM内存模型:JVM的内存模型主要分为五个部分:方法区、虚拟机栈、本地方法栈、堆和程序计数器。2. 堆溢出:堆溢出是JVM中的一种常见问题,指的是堆空间不足,无法分配对象时抛出的异常。3.
JVM内存分配与垃圾回收详解
Java 堆:它是 Java 虚拟机管理的内存中最大的一块,是被所有线程共享的一块内存区域,它在虚拟机启动时创建,它的唯一目的是存储对象实例,几乎所有的对象都在这里分配内存。
java -jvm 内存分配和jvm调优
堆(Heap):这是Java对象的主要存储区域,所有通过new创建的对象都在堆上分配内存。堆被所有线程共享,分为新生代(Young Generation)和老年代(Old Generation)。
JVM内存模型
#### 六、JVM内存分析参数为了更好地监控和调整JVM的内存使用情况,可以利用一系列JVM参数来查看和调整内存分配情况,主要包括:- **程序计数器**:记录线程下一条要执行的指令位置。


Java SE
