linux - Linux RSS 不等于 java Xx + MaxMetaspaceSize 吗?

标签 linux memory jvm

<分区>

enter image description here

这是我的 ps -eo 快照,一些进程占用 2.1GB 内存。 其堆的最大大小为 768mb,其元空间大小的最大大小为 256mb。 而且我猜这个过程不会占用超过 1024mb(768+256)。但事实并非如此。 除了堆和元空间,“RSS”中还包括什么?以及如何像堆堆栈分析器一样监视“RSS”内部?

最佳答案

RSS 是用于任何目的的所有内存的大小,包括 JVM、共享库、线程堆栈、直接内存、内存映射文件、 native 内存使用、 native GFX 组件。堆和元空间只是两个内存区域。

请注意虚拟内存大小为 15 GB。

要查看内存的用途,您可以转储 /proc/{pid}/smaps,它显示了所有内存区域(并且会有数百个)以及每个内存区域有多少常驻. (在我的机器上运行的 IntelliJ 有 403 个内存区域)

关于linux - Linux RSS 不等于 java Xx + MaxMetaspaceSize 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42767592/

相关文章:

android-studio - Android Studio 正在使用这个 JDK 位置......这与 Gradle 默认使用的不同

java - Selenium Jenkins Linux TestNG - 如何运行?

linux - 即使与 awk 不匹配也追加该行

linux - Linux 如何对待( protected )内存区域?

javascript - 如何检查将字符串分配给两个变量是通过引用还是通过Javascript中的值?

java - 在没有源代码的已编译 1.6 Java 类中更改整数字段的最佳方法

Linux查找带字符串的文件并替换

linux - 如果行匹配,如何在目标文件中标记行

java - 设置 int 值会导致性能问题

Java 热点错误