Java进程占用越来越多的内存
全部, 我有一个Java内存进程,随着时间的推移,它开始占用越来越多的内存。为了限制堆空间的使用,我将-Xmx选项设置为512M。经过一段时间后,进程内存使用率慢慢达到2GB 我已经使用各种工具(如MAT和YOURKIT)分析了代码中可能存在的内存泄漏,在Java代码中没有发现这种可能的泄漏。代码还使用了一个看起来没有泄漏的本机函数 我有以下问题:Java进程占用越来越多的内存,java,linux,memory-management,memory-leaks,process,Java,Linux,Memory Management,Memory Leaks,Process,全部, 我有一个Java内存进程,随着时间的推移,它开始占用越来越多的内存。为了限制堆空间的使用,我将-Xmx选项设置为512M。经过一段时间后,进程内存使用率慢慢达到2GB 我已经使用各种工具(如MAT和YOURKIT)分析了代码中可能存在的内存泄漏,在Java代码中没有发现这种可能的泄漏。代码还使用了一个看起来没有泄漏的本机函数 我有以下问题: 是否可能对Java进程可以使用的总内存造成上限 除了堆之外,JVM的其他内存使用是什么 Linux是否在Windows的“工作集”内存模型上工作,当
谢谢你的回答。你是如何衡量内存使用率的 通常有三种内存使用方式:
- VIRT—虚拟内存大小(KiB) 任务使用的虚拟内存总量。信息技术 包括所有代码、数据和共享库以及 已调出和已映射但未映射的页面 用过
- RES—驻留内存大小(KiB):任务使用的非交换物理内存
- SHR—共享内存大小(KiB)It 仅仅反映了 可能与其他进程共享
- (有效地操作字符串)和
- (研究程序的行为;包括堆分配和垃圾回收)