当你读写文件的时候,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。
除非你的swap空间被大量使用,这才说明的物理内存不足。
修改/etc/security/limits.conf可以调整进程内存上限, 具体看 man limits.conf但是我觉得你的问题可能在于java,
一个是java版本,我估计32位版本可能只能用4GB,若是64位的版本就不会
另一个是 java 参数 -Xmx 你先看看现在的设置然后尝试调高,看看是否有效
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)