小编Ami*_*mir的帖子

释放线程时,Java会从堆中泄漏内存

我有一个小应用程序,分配大约25000个线程,然后释放它们.当线程被释放时,即使在所有线程退出之后,应用程序的内存消耗也会上升并保持高水平.

top看起来像这样:

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
9133 root      20   0 22.601g 8.612g  12080 S   0.0  9.1   1:18.61 java
Run Code Online (Sandbox Code Playgroud)

jmap -heap看起来像这样:

Attaching to process ID 9133, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.66-b17

using thread-local object allocation.
Parallel GC with 18 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 1073741824 (1024.0MB)
   NewSize                  = 104857600 (100.0MB)
   MaxNewSize               = 104857600 (100.0MB)
   OldSize                  = 968884224 …
Run Code Online (Sandbox Code Playgroud)

java memory-leaks

6
推荐指数
1
解决办法
697
查看次数

标签 统计

java ×1

memory-leaks ×1