场景:
我有一个在docker容器中运行的JVM。我使用两个工具做了一些内存分析:1)Top2)Java本地内存跟踪。
问题:
那么,1.1 GB(RSS)和800 MB(Java总提交内存)之间的内存消耗是什么呢?
在Mikhail Krestjaninoff的“分析Docker容器中的java内存使用情况”中可以找到一些线索:
(明确地说,在三年后的2019年5月,使用openJDK 8U212,情况确实有所改善)
驻留集大小是进程当前分配和使用的物理内存量(没有交换出的页)。它包括代码、数据和共享库(在使用它们的每个进程中都被计算在内)
RSS = Heap size + MetaSpace + OffHeap size
docker exec my-app jcmd 1 VM.native_memory summary
不要担心“未知”部分--NMT似乎是一个不成熟的工具,不能处理CMS GC(当您使用另一个GC时,该部分将消失)。
请记住,NMT显示的是“提交”内存,而不是“常驻”内存(您通过ps命令获得)。换句话说,可以提交内存页而不考虑作为驻留页(直到它被直接访问)。
这意味着非堆区域(堆总是预先初始化的)的NMT结果可能大于RSS值。
我正在运行一个简单的Scala(JVM)应用程序,它将大量数据加载到内存中或从内存中取出。
我将JVM设置为8G堆(-xmx8g
)。我有一台内存为132G的机器,它不能处理超过7-8个容器,因为它们的增长远远超过了我对JVM施加的8G限制。
(Docker stat
以前被报告为误导性的,因为它显然将文件缓存包含在总内存使用信息中)
Docker stat
显示每个容器本身使用的内存比JVM应该使用的内存多得多。例如:
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O
dave-1 3.55% 10.61 GB/135.3 GB 7.85% 7.132 MB/959.9 MB
perf-1 3.63% 16.51 GB/135.3 GB 12.21% 30.71 MB/5.115 GB
当运行启用了本机内存跟踪的Java应用程序(在YARN中)(请参见https://docs.oracle.com/javase/8/docs/technotes/guides/vm/nmt-8.html和https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr007.html)时,我可以看到JVM在不
我正在运行一个运行jetty的简单java进程,上面显示了2.9g的RAM。使用的JDK版本是1.8.0_112。 使用本机内存跟踪(jcmd),它显示提交的总内存仅为1.5G内存 而且,正如jvisualvm所报告的,直接缓冲池的大小非常小。 我完全知道NMT显示的内存是提交内存,不需要在RAM中。在这种情况下,NMT内存对RES的贡献应该是 在我的例子中,这里的差异约为1.4G(RES显示内存
我正在Windows 8.1 64位上开发java swing应用程序,带有4GB内存和JDK版本8u20 64位。 问题是当我使用带有监视器选项的Netbeans profiler启动应用程序时。 加载第一个Jframe时,应用程序Memory Heap约为18mb,JVM进程大小约为50mb(Image1)。 然后,当我启动另一个Jframe时,它包含一个带有webView的JFxPanel,
下面是一些使用的JVM标志, -xmx3500m -XMS3500M -xx:maxmetaspacesize=400m -xx:compressedclassspacesize=35m 注意:线程堆栈的大小(1MB)和代码缓存(240MB)是默认的,JDK版本是1.8.0_252。 甚至由“jcmd pid vm.native_memory summary”输出产生的总和也是5.0GB,甚至不是
问题内容: 在启用了本机内存跟踪的Java应用程序(在YARN中)运行时(请参阅https://docs.oracle.com/javase/8/docs/technotes/guides/vm/nmt-8.html和https:// docs。 oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr007.html ),我
问题内容: 我似乎根本无法在服务器上的Docker容器中运行Java。即使在发出时,我也会收到以下错误。 据此,java不能为保留内存映射2.5Mb的空间吗?这似乎不正确… 我在末尾包含了完整的日志,但是为了提供一些额外的信息,我的系统报告了以下内容: 谁能指出我正确的方向? 完整日志:https : //gist.github.com/KayoticSully/e206c44681ce26167