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胶带在包装行业中常用于食品包装、药…

python 格式化字符串的方法

在 Python 中,格式化字符串有多种方法,每种方法都有其独特的优点和适用场景。以下是几种常用的格式化字符串的方法: 1.使用百分号 (%) 运算符 这是 Python 中最早的字符串格式化方式,类似于 C 语言中的 printf。 name "A…

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

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

uniswap、pancakeswap、shadowswap、有什么区别

Uniswap、PancakeSwap和ShadowSwap是三个不同的去中心化交易所(Decentralized Exchanges,简称DEXs),它们在各自的区块链生态系统中运作,并且有各自的特点和优势。下面是它们之间的一些主要区别: Uniswap 平…

【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架构风格的…

C++身份核验接口-守护网络安全从身份证实名认证开始

说起安防&#xff0c;大家想到的都是国家、政府、机构等&#xff0c;其实做这些的最终目的是为了保障国家、个人的安全&#xff0c;如果个人的安全都是未知那凭什么去说更高层面的安防呢。 江歌遇害案最近在各媒体都占据了醒目的位置&#xff0c;目前陈世峰已经承认杀人&#…

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…

Python的进程、线程和协程

在Python中&#xff0c;进程、线程和协程是处理并发和并行任务的三种主要方式。下面我将对它们进行简要的比较&#xff0c;并提供一些示例代码。 进程&#xff08;Process&#xff09; 进程是操作系统进行资源分配和调度的基本单位&#xff0c;它包含独立的内存空间、系统资源…

OpenCV之cv::undistort

在 OpenCV 中&#xff0c;cv::undistort 函数用于校正畸变的图像。它的基本形式如下&#xff1a; void undistort(InputArray src, OutputArray dst, InputArray cameraMatrix, InputArray distCoeffs, InputArray newCameraMatrix noArray());参数解释&#xff1a; src&…

Vue与Web标准:如何在Vue项目中更好地利用Web标准,例如Web Components、PWA

理解Vue和Web标准 Vue.js 的定义、优点与缺点 定义:Vue.js 是一种轻量级的前端框架,它被设计为易于上手和集成。Vue 的核心库只关注视图层,使得 Vue 可以轻松地和其它库或已有项目整合。 优点: 易学易用:Vue.js 的 API 相对简单直观,学习曲线平缓。 灵活:Vue.js 提供了…