【发布时间】:2017-04-23 07:49:34
【问题描述】:
我是这个主题的新手,所以,如果我的问题很明显,但在这里,很抱歉-
每当我们启动 Java 应用程序时,都会创建一个新的 JVM 实例。 JVM 本身是一个在操作系统上运行的进程,与任何其他进程一样,它也有自己的内存需求。
我知道堆和非堆内存结构以及如何配置和操作它们。我正在寻找的是jvm进程本身的内存细节,
整体内存如何划分即jvm自身内存需求+heap+non-heap+native stack
有多少段?
操作系统为JVM分配了多少内存,jvm如何进一步使用它?
运行应用程序时是否有任何命令或实用程序可以检查这些详细信息?
我搜索了很多,但没有找到任何具体的方向,几乎所有文章都解释了堆和非堆内存结构(eden / old / meta 等)。我还访问了以下链接-
JVM Memory Types
How is the java memory pool divided?
JVM Memory segments allocation
https://blog.codecentric.de/en/2010/01/the-java-memory-architecture-1-act/
JVM memory mapping over a Linux Process
Understanding JVM Memory Allocation and Java Out of Memory: Heap Space
看来我被困在这里了,任何关于这个主题的指针都会很棒,这样我就可以开始朝那个方向看。
【问题讨论】:
标签: java memory-management jvm operating-system