当前位置: 首页 > 知识库问答 >
问题:

根据给出的参数,JVM使用了多少物理内存?

纪翰
2023-03-14

我想了解在以下情况下JVM使用了多少物理内存:

java-Xms2G-Xmx2G-XX:PermSize512M-版本

我假设它使用的最小值和最大值为2GB 512 MB-总共使用了2.5GB物理内存?

什么时候交换空间会对内存使用起作用?

参考1:https://plumbr.eu/outofmemoryerror/java-heap-space参考2:https://plumbr.eu/outofmemoryerror/out-of-swap-space

共有1个答案

滕弘新
2023-03-14

根据给出的参数,JVM使用了多少物理内存?

除了参数之外,(虚拟)内存占用还取决于许多因素。

我假设它使用的最小值和最大值为2GB 512 MB-总共使用了2.5GB物理内存?

首先,内存使用量很可能大于此。额外内存占用:

>

保存线程堆栈的堆外内存段,以及

用于直接映射文件和其他内容的堆外内存,由JVM、应用程序和第3方本地库分配。

其次,我们在这里讨论的是虚拟内存使用,而不是物理内存使用。物理内存使用量将低于虚拟内存。

请注意,实际的物理内存使用量通常取决于系统对内存的总体需求,并且随着系统通过“分页”JVM来处理竞争需求,可能会出现波动。

什么时候交换空间会对内存使用起作用?

交换空间通常被分配为JVM进程虚拟内存页的“备份”。当操作系统需要从JVM中取出物理内存页以提供给其他应用程序时,它“发挥作用”。这些页面中的JVM状态被写入交换空间,然后用另一个应用程序的状态(例如,从该应用程序的交换空间)加载这些页面,然后映射到地址空间。

有关更多信息,请阅读虚拟内存的维基百科页面。

 类似资料:
  • 我使用java-jar-jenkins。战争和java-jar奴隶。jar负责管理Jenkins的主人和奴隶。我想知道Jenkins调用了多少JVM,我可以配置它们的参数。 在大师: 我认为只有一个JVM(我不在master中运行作业) 在从属中: java-jar从机。罐子= 另一个问题是,我可以在管理节点的高级部分为从机设置JVM,但是谁使用它的配置?

  • 我想知道我需要为ExtJS应用程序设置多少JMV最小内存和最大内存(java堆空间)才能在我的正式服JBOSS服务器上运行良好。 是否有一个配置文件是在我构建应用程序后创建的,我可以在其中设置要使用的JVM的最小和最大内存。 我可以测试ExtJS应用程序使用了多少内存吗。 我可以命令服务器使用(即在一些配置文件的帮助下)或为我的ExtJS应用程序分配特定数量的JVM内存吗。 我想知道它,以便我可以

  • 如果我们使用 那么创建了多少对象,它们驻留在哪里?

  • 本文向大家介绍jvm最大内存限制多少?相关面试题,主要包含被问及jvm最大内存限制多少?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM (1)堆内存分配 JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小 于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到

  • 本文向大家介绍gradle 调整Gradle的JVM内存使用率参数,包括了gradle 调整Gradle的JVM内存使用率参数的使用技巧和注意事项,需要的朋友参考一下 示例 您可以通过编辑$GRADLE_USER_HOME/.gradle/gradle.properties(~/.gradle/gradle.properties默认情况下)并设置来设置或增加用于Gradle构建和Gradle守护进

  • 问题内容: 我需要处理一些比RAM大数百倍的数据。我想读一个大块,进行处理,保存结果,释放内存并重复。有没有办法在python中提高效率呢? 问题答案: 常规键是您要迭代处理文件。 如果您只处理文本文件,那么这很简单:一次只能读取一行。(实际上,它可以缓冲所有内容,但是缓冲区足够小,您不必担心。) 如果您要处理其他特定文件类型(例如numpy二进制文件,CSV文件,XML文档等),则通常会有类似的