JAVA WEB项目有时候出现内存溢出的情况,但是在本地tomcat下又实在无法重现出来。
查了下API,发现Java提供了Runtime类:
public class Runtimeextends Object
每个 Java 应用程序都有一个 Runtime
类实例,使应用程序能够与其运行的环境相连接。可以通过 getRuntime
方法获取当前运行时。
应用程序不能创建自己的 Runtime 类实例。
通过Runtime查看一下内存的使用情况。
<% NumberFormat format = NumberFormat.getNumberInstance(); long freeMem = Runtime.getRuntime().freeMemory(); long totalMem = Runtime.getRuntime().totalMemory(); long usedMem = totalMem - freeMem; long maxMem = Runtime.getRuntime().maxMemory(); out.print("Max Mem:" + format.format(maxMem) + " byte<br/>"); out.print("Total Mem:" + format.format(totalMem) + " byte<br/>"); out.print("Free Mem:" + format.format(freeMem) + " byte<br/>"); out.print("Used Mem:" + format.format(usedMem) + " byte<br/>"); out.print("Usage:" + new BigDecimal(usedMem).divide(new BigDecimal(totalMem), 4, BigDecimal.ROUND_CEILING).multiply(new BigDecimal(100)) + "%<br/>"); %>
static Runtime |
getRuntime() 返回与当前 Java 应用程序相关的运行时对象。 |
long |
totalMemory() 返回 Java 虚拟机中的内存总量。 |
long |
freeMemory() 返回 Java 虚拟机中的空闲内存量。 |
long |
maxMemory() 返回 Java 虚拟机试图使用的最大内存量。 |
效果:
Max Mem:1,072,486,400 byte Total Mem:53,228,032 byte Free Mem:3,540,896 byte Used Mem:49,687,136 byte Usage:93.3500%
相关推荐
java获得jvm内存大小
性能测试,线程的 dump 看到线程的 死锁,等待 运行状态
java jvm内存模型
java jvm内存结构 调优
关于java的内存分配问题,jvm的运行原理相关资料总结
用java内存监控工具生成的JVM内存日志,用jmap生成的
gc即垃圾收集机制是指jvm用于释放那些不再使用的对象所占用的内存。java语言并不要求jvm有gc,也没有规定gc如何工作。不过常用的jvm都有gc,而且大多数gc都使用类似的算法管理内存和执行收集操作。
主要是JVM内存分配及简单的JVM性能调优
可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 jmap:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。 jconsole:一个javaGUI监视工具,可以以图表化的形式...
NULL 博文链接:https://younglibin.iteye.com/blog/1959816
第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 1.1标记清除算法 1.2复制算法 1.3 标记整理(标记压缩)...
Java 本身提供了多种丰富的工具来帮助开发人员查看和分析 GC 以及 JVM 内存的状况。 输出GC日志 输出 GC 日志对于跟踪分析 GC 的状况,无疑是最明显和直接的分析内存回收状况的方 法,只是 GC 日志输出后需要人肉的...
idea插件JVM内存工具JProfiler11,下载完,即可导入idea,可idea快捷打开使用。
Java 虚拟机JVM内存模型与垃圾收集策略,看完此资料,JVM将不再话下
Java-JVM内存规范(详细完整思维导图),包含物理内存与虚拟内存、内核空间与用户空间、java中需要使用的内存组件、jvm内存结构、jvm内存回收策略、JVM参数等...
使用Jconsole对java的内存使用情况(JVM)进行监控
使用Jconsole对java的内存使用情况(JVM)进行监控.pdf
使用Jconsole对java的内存使用情况(JVM)进行监控参照.pdf
JVM 内存管理之道 JVM垃圾回收机制 JVM GC组合 JVM 内存监控工具
JVM内存dump分析工具MAT独立安装包,分析内存溢出利器,可以准确定位内存异常原因,解决问题,MemoryAnalyzer-1.10.0.20200225.zip