linux下查看虚拟机的状态
命令: ps auxwww 找到java的进程
然后进入java的bin目录 调用jmap -heap PID 进行查看内存,cpu的情况
或者调用 ./jstat -gcutil PID 500(刷新频率) 100(次数)查看jvm的gc情况和内存使用情况
jstat命令的参数及查看情况可以查询jdk的doc,里面有说明
jvm的gc机制是分代gc:顺序是 Eden -->from/to--->tenured(old)
gc分大gc和小gc
大gc一般一分钟一次,小gc时间很短
大GC会回收这三代,一般可以gc掉80%--90%的对象,小gc值回收前面的Eden和From/to中的对象,不回收old的对象
下面的截图就是说明:
Eden Space是最开始new 出来的对象
From Space 过了一段时间,new出来的对象会转给From Space
To Space 和From Space之间是个copy,他们两个只有一个有数据,另一个肯定是0.0%的使用率
tenured generation :最老的那些对象,以后一个大的GC会回收80--90%的对象,只有大GC会回收这里面的对象,小GC只回收Eden 和From/To 中的对象
命令: ps auxwww 找到java的进程
然后进入java的bin目录 调用jmap -heap PID 进行查看内存,cpu的情况
或者调用 ./jstat -gcutil PID 500(刷新频率) 100(次数)查看jvm的gc情况和内存使用情况
jstat命令的参数及查看情况可以查询jdk的doc,里面有说明
jvm的gc机制是分代gc:顺序是 Eden -->from/to--->tenured(old)
gc分大gc和小gc
大gc一般一分钟一次,小gc时间很短
大GC会回收这三代,一般可以gc掉80%--90%的对象,小gc值回收前面的Eden和From/to中的对象,不回收old的对象
下面的截图就是说明:
Eden Space是最开始new 出来的对象
From Space 过了一段时间,new出来的对象会转给From Space
To Space 和From Space之间是个copy,他们两个只有一个有数据,另一个肯定是0.0%的使用率
tenured generation :最老的那些对象,以后一个大的GC会回收80--90%的对象,只有大GC会回收这里面的对象,小GC只回收Eden 和From/To 中的对象