Tom*_*mer 4 jvm memory-management java-8
我试图以务实的方式测量我的应用程序内存占用量.我正在使用java.lang.management类来计算它
val heap = ManagementFactory.getMemoryMXBean.getHeapMemoryUsage
val nonHeap = ManagementFactory.getMemoryMXBean.getNonHeapMemoryUsage
val total = heap + nonHeap + (?)
Run Code Online (Sandbox Code Playgroud)
我假设两者的总和将给出应用程序使用的内存总量,但实际情况并非如此,top命令提供的实际大小更大.
所以我想知道我错过了什么?除了获取应用程序的总内存使用量之外,我还需要添加到此等式中.
apa*_*gin 11
要查找提供的内存使用情况top,请检查进程的操作系统级统计信息.在Linux上,您可以通过阅读/proc/self/stat或执行此操作/proc/self/status.有关proc伪文件系统的更多信息.
请注意,应用程序足迹是一个不同的概念 从JVM的角度来看,Java应用程序占用空间大致是Java对象(Heap)和Java类(非堆)占用的空间量.从操作系统的角度来看,还有很多事情需要考虑,包括JVM本身以及使您的应用程序工作的Java Runtime的所有组件.
整个Java进程使用的内存包括
| 归档时间: |
|
| 查看次数: |
3439 次 |
| 最近记录: |