JVM-GC-常用调优命令和GC参数

定位问题常用命令

  1. top:查看内存/CPU占用情况
  2. top -Hp pid: 查看进程内线程情况
  3. jsp:查看java进程情况
  4. jstack 线程pid:查看进程内线程信息,一般查看线程状态,判断是否死锁。重点观察:WAITING、BLOCKED的线程,另外查看waiting on xxx,如果多个线程都在waiting on 某把锁,看哪个线程持有这把锁;
  5. jstat -gc:查看GC情况
  6. jinfo 线程pid:查看线程信息
  7. jstat -gc 线程pid 间隔时间:查看
  8. jmap -histo 线程pid | head 20:查看那些对象多,用于定位OOM问题;
  9. jmap -dump:format=b,file=xxx pid:导出堆栈信息,消耗性能,生产环境慎用;

JVM调优常用工具

  1. jconsole:JDK自带,消耗性能,线上排查慎用;
  2. arthas:推荐使用,线上排查;

GC常用参数

  1. -Xmn/-Xms/-Xmx/-Xss:年轻代/最小堆/最大堆/栈空间大小
  2. -XX:+PrintVMOptions:打印JVM运行参数
  3. -XX:+PrintFlagsFinal:打印JVM最终参数,配合管道符搜索命令 如:-XX:+PrintFlagsFinal | CMS
  4. -XX:+PrintFlagsInitial:打印JVM默认参数
  5. -XX:MaxTenuringThreshold:升代年龄,两位存储,最大15
  6. -XX:+PrintGC
  7. -XX:+PrintGCDetails
  8. -XX:+PrintHeapAtGC
  9. -XX:+PrintGCTimeStamps
  10. -XX:+UseTLAB:使用TLAB,默认打开
  11. -XX:+PrintTLAB:打印TLAB情况
  12. -XX:TLABSize:TLAB大小
  13. -XX:DisableExplictGC:禁用System.gc()
  14. -XX:+PrintGCApplicationConcurrentTime:打印应用程序时间
  15. -XX:+PrintGCApplicationStoppedTime:打印暂停时间
  16. -XX:+PrintReferenceGC:记录回收了多少种不同引用对象
  17. -verbose:class:类加载详细过程

Parallel常用参数

  1. -XX:SurvivorRatio:
  2. -XX:PreTenureSizeThreshold:设置大对象大小,指定之间分配到Old区对象大小
  3. -XX:MaxTenuringThreshold:升代年龄,两位存储,最大15
  4. -XX:+ParallelGCThreads:并发收集器线程数,同样适用CMS,一般和CPU核数相同
  5. -XX:+UseAdaptiveSizePolicy:自动选择各区大小比例

CMS常用参数

  1. -XX:ParallelCMSThreads:设置CMS线程数
  2. -XX:CMSInitiatingOccupancyFraction:使用多少老年代空间比例后开始CMS回收,默认68%
  3. -XX:+UseCMSCompactAtFullCollection:在FGC时进行压缩
  4. -XX:CMSFullGCsBeforeCompaction:在多少次FGC后进行压缩
  5. -XX:+CMSClassUnloadingEnabled:回收没用的class,永久代回收
  6. -XX:CMSInitiatingPermOccupancyFraction:永久代达到这个比例后触发CMS
  7. -XX:GCTimeRatio:设置GC时间占用程序时间百分比
  8. -XX:MaxGCPauseMillis:停顿时间,是一个建议时间。

G1常用参数

  1. -XX:+UseG1GC:使用G1
  2. -XX:MaxGCPauseMillis:停顿时间,是一个建议时间。G1通过减少young区块数 达到这个值
  3. -XX:+G1HeapRegionSize:设置分区大小,只能设置1、2、4、8、16、32;值越大垃圾存活时间越长,间隔越长,回收时间越长
  4. -XX:G1NewSizePercent:新生代最小比例,默认为5%
  5. -XX:G1MaxNewSizePercent:新生代最大比例,默认60%
  6. -XX:GCTimeRatio:GC时间建议比例,G1会根据这个值调整堆空间
  7. -XX:ConcGCThreads:GC线程数量
  8. -XX:InitiatingHeapOccupancyPercent:启动G1的堆空间占比例

GC日志(PS+PO)

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全面的WAS存储权限管理方案,了解一下

WAS存储权限管理通常指的是对Windows Azure Storage(WAS)的存储设备进行权限控制和管理。在企业中,随着数据量的飞速增长,对存储设备的安全性、效率和成本的关注也日益增加。有效的WAS存储权限管理可以确保数据的安全性&#xff0…

UV胶带和UV胶水的应用场景有哪些不同吗?

UV胶带和UV胶水的应用场景有哪些不同吗? UV胶带和UV胶水的应用场景确实存在不同之处,以下是详细的比较和归纳: 一:按使用场景来看: UV胶带的应用场景: 包装行业:UV胶带在包装行业中常用于食品包装、药…

深圳比创达电子|EMC与EMI一站式解决方案:源头到终端的全面防护

随着电子技术的飞速发展,电磁兼容性(EMC)和电磁干扰(EMI)问题日益成为产品研发和生产的关键因素。为了帮助企业更好地应对这些挑战。 一、EMC与EMI的基本概述 电磁兼容性(EMC)是指设备或系统在…

【Linux】ss 命令使用详解

目录 一、ss命令介绍 二、ss命令格式和使用 1、命令格式 2、ss命令的常用选项 3、命令的常见用法 3.1 找出打开套接字/端口应用程序 3.2 检查系统的监听套接字 3.3 显示所有状态为established的SMTP连接 3.4 查看建立的 TCP 连接 3.5 通过 -r 选项解析 IP 和端口号 …

12通道温振信号采集卡

12 通道智能数据采集器,以下简称 SG-Vib-S12。 SG-Vib-S12 旨在帮助用户对工业生产中的设备健康状况进行监测与诊断, 降低因设备故障对生产过程产生的影响。SG-Vib-S12 输入同时兼容 IEP、ICP 两 线制、三线制(振温一体)传感器&…

【html】如何利用hbuilderX 开发一个自己的app并安装在手机上运行

引言: 相信大家都非常想开发一款自己的apk,手机应用程序,今天就教大家,如何用hbuilderX 开发一个自己的app并安装在手机上运行。 步骤讲解: 打开hbuilderX ,选择新建项目 2.选择5app,想一个名字&#x…

js三元图的画法

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>三元图</title></head> <body>&l…

爬虫超详细介绍

爬虫&#xff08;Spider&#xff09;是一种自动化程序&#xff0c;用于在互联网上获取信息。 其工作原理主要可以分为以下几个步骤&#xff1a; 发起请求&#xff1a; 爬虫首先需要向目标网站发起HTTP请求&#xff0c;以获取网页的内容。这个请求可以包含一些额外的信息&…

使用 Java 构建和消费 RESTful 服务的基本方法

REST&#xff08;Representational State Transfer&#xff09;是一种架构风格&#xff0c;它基于Web标准和HTTP协议&#xff0c;常用于构建网络服务。使用Java构建和消费RESTful服务需要掌握一些基本概念和技术。 一、RESTful服务的基本概念 1. REST架构风格 REST架构风格的…

NGINX_二十 nginx 监控

二十 nginx 监控 1 nginx的基础监控 进程监控端口监控 注意&#xff1a; 这两个是必须要加在zabbix监控&#xff0c;加触发器有问题及时告警。 web 服务器 nginx 以其高性能与抗并发能力越来越多的被用户使用 作为一款服务器产品&#xff0c;其运行状态是运维密切关注的&a…

【机器学习 复习】第3章 K-近邻算法

一、概念 1.K-近邻算法&#xff1a;也叫KNN 分类 算法&#xff0c;其中的N是 邻近邻居NearestNeighbor的首字母。 &#xff08;1&#xff09;其中K是特征值&#xff0c;就是选择离某个预测的值&#xff08;例如预测的是苹果&#xff0c;就找个苹果&#xff09;最近的几个值&am…

项目六 OpenStack虚拟机实例管理

任务一 理解OpenStack计算服务 1.1 •什么是Nova • Nova是OpenStack中的计算服务项目 &#xff0c;计算虚拟机实例生命周期的所有活动都由 Nova 管理 。 • Nova 提供统一的计算资源 服务。 • Nova 需要下列 OpenStack 服务的 支持。 Keystone &#xff1a;为所有的 OpenSt…

单商户社区团购卖菜卖水果商城自提点商城系统小程序源码

打造便捷团购新体验 &#x1f34e; 引言&#xff1a;社区团购的崛起 近年来&#xff0c;社区团购以其独特的优势&#xff0c;迅速崛起并受到广大消费者的喜爱。它不仅能够提供物美价廉的商品&#xff0c;还能让居民们享受到更加便捷的购物体验。而单商户社区团购系统小程序&am…

详解 HBase 的架构和基本原理

一、基本架构 StoreFile&#xff1a;保存实际数据的物理文件&#xff0c;StoreFile 以 HFile 的格式 (KV) 存储在 HDFS 上。每个 Store 会有一个或多个 StoreFile&#xff08;HFile&#xff09;&#xff0c;数据在每个 StoreFile 中都是有序的MemStore&#xff1a;写缓存&#…

【YOLOv5/v7改进系列】引入特征融合网络——ASFYOLO

一、导言 ASF-YOLO结合空间和尺度特征以实现精确且快速的细胞实例分割。在YOLO分割框架的基础上&#xff0c;通过引入尺度序列特征融合(SSFF)模块来增强网络的多尺度信息提取能力&#xff0c;并利用三重特征编码器(TFE)模块融合不同尺度的特征图以增加细节信息。此外&#xff…

信息打点web篇----web后端源码专项收集

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 专栏描述&#xff1a;因为第一遍过信息收集的时候&#xff0c;没怎么把收集做回事 导致后来在实战中&#xff0c;遭遇资产获取少&#xff0c;可渗透点少的痛苦&#xff0c;如今决定 从头来过&#xff0c;全面全方位…

手把手教你实现条纹结构光三维重建(3)——相机投影仪标定

我们都知道&#xff0c;投影仪其实就是个反向相机&#xff0c;如果我们了解双目标定的原理&#xff0c;那么相机和投影仪的标定就不难&#xff0c;关键是我们怎么得到投影仪在图像特征点&#xff08;比如棋盘格角点&#xff09;上的像素位置。 投影仪也类似于一个cmos&#xf…

WebSocket实现消息实时通知

参考文档&#xff1a;万字长文&#xff0c;一篇吃透WebSocket&#xff1a;概念、原理、易错常识、动手实践、WebSocket 教程 1 背景 有一个需求&#xff0c;需要实现实时通信的功能&#xff0c;如果有新消息&#xff0c;后端会主动发送请求告知前端有新消息&#xff0c;需要前…

Matlab基础语法:变量和数据类型,基本运算,矩阵和向量,常用函数,脚本文件

目录 一、变量和数据类型 二、基本运算 三、矩阵和向量 四、常用函数 五、脚本文件 六、总结 一、变量和数据类型 Matlab 支持多种数据类型&#xff0c;包括数值类型、字符类型和逻辑类型。掌握这些基本的变量和数据类型&#xff0c;是我们进行数学建模和计算的基础。 数…

Linux工具(包含sudo提权与vim快捷配置)

目录 什么是软件包 查看软件包 如何安装软件 1.官方yum源下载 2.扩展yum源下载 如何卸载软件 补充知识如何将普通用户加入白名单 补充知识rzsz vim编辑器 1.命令模式&#xff08;进入默认为这个模式&#xff09;用户所有的输入都会被当成命令 2.插入模式 3.底行模…