jvm分析步骤

jstat -gcutil -h16 pid 4000    -- 监视VM内存内的各种堆和非堆的大小及其内存使用量[pid]: java进程id[internal]: 打印内存使用量间隔, 单位毫秒

jmap -heap 17431 -- 查看堆信息

程序计数器: 指 当前线程 正在执行的字节码指令的地址;

虚拟机栈:

        存储 当前线程 运行方法时所需要的数据、指令、返回地址;有由若干个栈帧组成;一个栈帧对应一个方法;

       一个栈帧由局部变量表,操作数栈,动态链接(解析接口具体实现类),出口等组成;

        栈的深度 ,对应xss定义,递归调用是对应N个栈帧,如果死循环了,会报stackoverflowError;

本地方法栈,是C和c++是实现的;

方法区: 类信息,常量(1.7+存储到堆中),静态变量,JIT(1.7以前);

堆Heap:

猜你喜欢

转载自blog.csdn.net/liuqianduxin/article/details/73650573