• JVM学习笔记四:虚拟机性能监控与故障处理工具


    JVM client模式和Server模式的区别

    JVM client模式和Server模式启动,分别针对桌面应用和服务器应用做了相应的优化,client版本加载速度较快,server版本加载速度较慢但运行起来较快。
    Java HotSpot虚拟机默认不带参数启动会首先检测主机是否为服务器,如果是,则以Server模式启动,否则以client模式启动,而检测的根据是至少2个CPU和最低2GB内存。

    虚拟机模式切换

    如果只是临时切换,可以直接使用命令行执行,格式如:java -模式(client或server) classname

    如果永久切换可以修改配置文件,配置文件在“JAVA_HOME/jre/lib/i386/jvm.cfg”,我们可以看到JVM默认的顺序:

    1. -client KNOWN
    2. -server KNOWN
    3. -hotspot ALIASED_TO -client
    4. -classic WARN
    5. -native ERROR
    6. -green ERROR

    只需要把-server和-clent调换顺序即可

    1. -server KNOWN
    2. -client KNOWN
    3. -hotspot ALIASED_TO -client
    4. -classic WARN
    5. -native ERROR
    6. -green ERROR

    JVM工作在Server模式可以大大提高性能,但应用的启动会比client模式慢大概10%。当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。

    默认Java堆大小 (即Xms和Xmx默认值)

    hotspot虚拟机的默认堆大小如果未指定,他们是根据服务器物理内存计算而来的

    client模式下,JVM初始和最大堆大小为:

    在物理内存达到192MB之前,JVM最大堆大小为物理内存的一半,否则,在物理内存大于192MB,在到达1GB之前,JVM最大堆大小为物理内存的1/4,大于1GB的物理内存也按1GB计算,举个例子,如果你的电脑内存是128MB,那么最大堆大小就是64MB,如果你的物理内存大于或等于1GB,那么最大堆大小为256MB。

    Java初始堆大小是物理内存的1/64,但最小是8MB。

    server模式下:

    与client模式类似,区别就是默认值可以更大,比如在32位JVM下,如果物理内存在4G或更高,最大堆大小可以提升至1GB,,如果是在64位JVM下,如果物理内存在128GB或更高,最大堆大小可以提升至32GB。

    jdk 命令行工具

    jps 虚拟机进程状况工具 jps -l -v -l 输出主类的全名 -v 输出虚拟机启动参数 -m 输出main函数的参数;

    jstat 虚拟机统计信息监视工具 jstat -gcutil 2764
    jinjiprojectnaotu
    jinfo java配置信息工具

    jinfo -flag MaxHeapSize 6950 打印VMID为6950的JVM进程的大Java堆大小

    jinfo -flag InitialHeapSize 6950 打印VMID为6950的JVM进程的初始化Java堆大小

    jinfo -flags 6950 打印VMID为6950的JVM进程的VM参数

    jmap Java内存映像工具
    jinjiprojectnaotu
    例如,用jmap生成一个dump快照的命令为:

    jmap -dump:format=b,file=dumpfile.bin 3500

    jhat 启动web显示dump分析页面

    jstack Java栈跟踪工具

    jack -l 显示堆栈信息

    hsdls jit生成代码反汇编

    参考资料

    本文参考:《深入理解Java虚拟机》

  • 相关阅读:
    wx_sample.php

    手机装linux系统
    MySQL导入导出命令
    PHP对表单提交特殊字符的过滤和处理
    sublime开启php自动代码补全
    寻找Linux单机负载瓶颈
    怎样成为PHP 方向的一个合格的架构师
    说说大型高并发高负载网站的系统架构
    数据库水平分割,垂直分割,库表散列浅谈
  • 原文地址:https://www.cnblogs.com/MinnieChang/p/7296062.html
Copyright © 2020-2023  润新知