JavaDriver JavaDriver
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

YoungAnn

西二旗Java老司机一枚 致力于社会主义添砖Java
首页
  • 基础
  • 并发
  • JVM
  • 设计模式
  • 计算机网络
  • 操作系统
  • 数据结构
  • 算法
  • MYSQL
  • REDIS
  • Netty
  • Kafka
系统设计
非技术
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • 并发

  • JVM

    • Java 中垃圾回收机制中如何判断对象需要回收?
    • 常见的 GC 回收算法有哪些?
    • Java 中如何进行 GC 调优?
    • JMM 中内存模型是怎样的?什么是指令序列重排序?
    • JVM 内存是如何对应到操作系统内存的?
    • JVM 是怎么去调优的?了解哪些参数和指令?
      • 查看进程
      • 查看JVM参数 jinfo
      • 查看各项指标数据 jstat
      • jmap
    • 什么是内存泄漏,怎么确定内存泄漏?
    • 简述 CMS 与 G1 机制的区别
  • 设计模式

  • Java相关
  • JVM
YoungAnn
2022-05-21
目录

JVM 是怎么去调优的?了解哪些参数和指令?

# 查看进程

由于JVM大多数命令都是需要用到进程id的,所以我们需要先查看一下我们系统的进程id,通过使用jps -l,输出所有java相关进程。

这里我们可以根据类名,大致确认出我们的系统进程是什么

注:-l代表的是输出应用程序main class的完整package名或者应用程序的jar文件完整路径名

# 查看JVM参数 jinfo

通过运行jinfo -flags <端口号>查看jvm的参数。

通过运行jinfo -sysprops <端口号>查看java系统参数。

# 查看各项指标数据 jstat

通过运行 -class <端口号>完成类加载统计 通过运行jstat -gc <端口号>完成垃圾回收统计 通过运行jstat -gccapacity <端口号>完成堆内存统计 通过运行jstat -gcnew <端口号>完成新生代垃圾回收统计 通过运行jstat -gcnewcapacity <端口号>完成新生代内存统计 通过运行jstat -gcold <端口号>完成老年代垃圾回收统计 通过运行jstat -gcoldcapacity <端口号>完成老年代内存统计 通过运行jstat -gcmetacapacity <端口号>完成老年代内存统计 通过运行jstat -gcutil <端口号>数据总览 查看对象及内存使用情况 通过运行jmap -histo <端口号> > ./log.txt类及其对象所占内存数据。

# jmap

通过运行jmap -heap <端口号>堆信息。

参考: 深度好文:JVM调优 (opens new window) Java核心篇-故事里的JVM性能调优 (opens new window)

编辑 (opens new window)
上次更新: 2022/09/18, 21:28:02
JVM 内存是如何对应到操作系统内存的?
什么是内存泄漏,怎么确定内存泄漏?

← JVM 内存是如何对应到操作系统内存的? 什么是内存泄漏,怎么确定内存泄漏?→

最近更新
01
电商-商品系统设计
12-17
02
关于如何写OKR
12-09
03
对事不对人 vs 对人不对事
12-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 YoungAnnn | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式