JVM(五)——JVM优化

JVM性能调优常用的工具

目录:C:\Program Files\Java\jdk1.8.0_191\bin

工具介绍:

  

名称 主要作用
jps 显示当前系统的java进程和id号
jstat 监视虚拟机各种运行状态信息, 如进程中的类装载、内存、垃圾收集、JIT编译等运行参数
jinfo 实时查看和调整虚拟机各项参数
jmap 生成虚拟机的内存转储快照(heap dump文件)
jhat 用于分析heap dump文件,它会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果
jstack 生成虚拟机指定时刻的线程快照(thread dump文件)

jvisualVM(可视图化查看jvm堆内存的工具)

可以实时监测cpu、堆、类变化

设置JVM参数 (更加详细的介绍可以参考:https://www.cnblogs.com/marcotan/p/4256885.html)

-Xms50m:初始化堆大小为50M

-Xmx100m:最大堆大小为100M

-XX:newSize:年前代大小

-XX:newRatio:年轻代占老年代的大小

-xx:MaxNewSize=1024M 设置年轻代最大值为1024

-XX:+UseSerialGC:使用Serial收集器

代码查看jvm默认收集器

package com.dy.jvm;

import java.lang.management.GarbageCollectorMXBean;
import java.lang.management.ManagementFactory;
import java.util.List;

public class JvmTest {

	public static void main(String[] args) {
		List<GarbageCollectorMXBean> garbageList = ManagementFactory.getGarbageCollectorMXBeans();
		for(GarbageCollectorMXBean g:garbageList) {
			System.out.println(g.getName());
		}
	}

}

  得出结果

PS Scavenge
PS MarkSweep

可见:

年轻代采用的是Scavenge收集器

老年代采用的是:CMS收集器

换收集器

java带main函数的文件--> Run as --> Run configurations -->

在VM arguments中写入相应的参数即可

猜你喜欢

转载自www.cnblogs.com/zhougongjin/p/11011794.html