我使用以下参数运行 java 应用程序:
#!/bin/bash
export JVM_OPTS="-XX:MaxRAM=150m"
export JVM_OPTS="$JVM_OPTS -XX:+UseSerialGC"
java $JVM_OPTS -jar application.jar
The htop
shows:
- 虚拟RT=475M
- RES=238M
- SHR=4880
- 内存%=24.1
据我了解,我需要看看RES
范围。但在这种情况下,它大大超过了-XX:MaxRAM
。预计在这种情况下,OutOfMemoryException
将会发生。我究竟做错了什么?如何限制容器的java应用程序的内存?我是否错误地查看了已使用的进程内存?
我想尽量减少使用的内存。操作系统 - CentOS 7
-XX:MaxRAM
选项只会影响默认堆大小 https://stackoverflow.com/questions/54071798/what-is-the-difference-between-xmx-and-maxram-jvm-parameters/54076834#54076834.
Java 进程使用的内存(从操作系统的角度来看)不仅包括 Java 堆,还包括许多其他内容。看这个答案 https://stackoverflow.com/a/53624438/3448419了解详情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)