微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

区分Java应用程序mmaped内存和Linux上的JVM mmapped内存

考虑到在Linux上运行的Java应用程序,我想测量Java 应用程序的mmapped内存量和JVM自身的mmap内存量。

问题1:我可以使用/ proc / {pid} / map来跟踪应用程序的mmap调用。 有没有什么办法可以帮助我测量这个差分内存映射? 如果没有,有没有其他工具可以帮助我?

问题2:如果Java 应用程序 (而不是JVM)打开一个文件,它是否也得到了mmap? 如果是的话,我可以在Javastream程图中区分和测量这个mmapped区域的大小吗?

caching在Linux服务器上的内存“免费”?

虚拟内存:处理一个和系统的一个

linux共享内存在哪里?

监视你自己进程中的内存使用情况

内存映射对象在线程终止后会自动释放吗?

如何configuration内存使用情况?

如何在上下文切换后更新页表

这是Linux Mono应用程序中的内存泄漏吗?

什么是Windows上的PE文件(exe)的最小文件大小? 而最小的内存分配?

高级内存编辑/函数调用

也可以通过 visualvm访问的BufferPoolMXBean报告支持字节缓冲区的映射。 其他JVM内部映射可以通过NMT跟踪

有没有什么办法可以帮助我测量这个差分内存映射?

是的,你必须阅读文件,看看它包含什么。 有关更多详细信息,可以使用/proc/{pid}/smaps

如果Java应用程序(而不是JVM)

没有办法来区分。

打开一个文件,它也得到了mmapped?

如果在FileChannel上使用mmap命令,则只有内存映射文件

我可以在Java流程图中区分和测量这个mmapped区域的大小吗?

你可以得到每个区域的映射文件,见上面的问题一。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐