![]() |
1
1
你可能在本机内存中泄漏了一些东西,比如套接字。是否有很多连接正在发生,并且您是否在最后一个街区关闭了连接? |
![]() |
2
0
1)进程的堆空间没有变化,但2)交换使用率确实发生了变化,这种情况难道不表明盒子上的其他进程可能会导致内存使用量的突然增长吗? 换句话说,我的理解是,交换的使用是由操作系统控制的——因此,如果Java进程自身的堆使用没有改变,但交换的使用却改变了,这似乎向我表明问题出在其他地方,而且碰巧操作系统选择了Java进程来开始占用交换空间。 还是我对交换空间的理解有误? |
![]() |
3
0
JVM内存的其他部分是否会增长?例如永磁空间? 您使用本机库(JNI)吗? |
![]() |
4
0
我试着回答另一个问题。 JVM的堆大小配置是否可能超过您拥有的可用物理内存?即使您定义的初始堆大小远小于最大堆大小,并且JVM将其全部分配,它也永远不会将其返回给操作系统,即使您对其进行垃圾收集,并且不再有任何分配。不要在1G RAM服务器上配置最大1.5GB的堆。请检查配置的最大堆大小是否与其他进程一起“输入”了可用RAM,尤其是在服务器应用程序的情况下。否则,您的应用程序将出现大量页面错误,并且会一直交换。 |
![]() |
payloc91 · 存储地图中的条目是否安全?它会导致内存泄漏吗? 6 年前 |
![]() |
pjj · 如果GC'ed是弱可达对象,那么为什么会出现OOM错误 6 年前 |
![]() |
K.R. · RxJava行为主体和使用者-这里是否存在内存泄漏? 6 年前 |
![]() |
eaglefreeman · 意外的R内存管理行为 6 年前 |
![]() |
areify · 如何避免此代码中的内存泄漏? 6 年前 |