gc就是fullgc嗎 major_線上出現fullgc問題如何排查?

1.問題描述

線上出現fullgc報警,每5分鐘一次

2.背景知識

1. 程序執行了System.gc()

  1. 執行了jmap -histo:live pid命令
  2. 在執行minor gc的時候進行的一系列檢查
    執行Minor GC的時候,JVM會檢查老年代中最大連續可用空間是否大于了當前新生代所有對象的總大小。 如果大于,則直接執行Minor GC(這個時候執行是沒有風險的)。 如果小于了,JVM會檢查是否開啟了空間分配擔保機制,如果沒有開啟則直接改為執行Full GC。 如果開啟了,則JVM會檢查老年代中最大連續可用空間是否大于了歷次晉升到老年代中的平均大小,如果小于則執行改為執行Full GC。 如果大于則會執行Minor GC,如果Minor GC執行失敗則會執行Full GC
  3. 使用了大對象
  4. 在程序中長期持有了對象的引用

3.排查步驟

注意: JVM在執行dump操作的時候是會發生stop the word事件的,也就是說此時所有的用戶線程都會暫停運行。

3.1通過JVM參數獲取dump文件

# 1.線上環境如果有流量需要在啟動服務腳本中加入如下JVM參數,表示在發生fullgc的時候自動dump
-XX:HeapDumpBeforeFullGC
# 2.與第一個JVM參數配套使用,指定dump文件的保存路徑,便于排查問題,路徑也可以是相對路徑
-XX:HeapDumpPath=保存dump文件的文件絕對路徑# 說明:如果加入這兩個jvm參數還是沒有dump下來文件,可能是你的jvm的參數中有其他的參數導致dump失敗,排查看是否有如下參數,如果有去掉即可
-XX:+DisableExplicitGC

3.2通過JDK自帶的工具jmap獲取dump文件

# 導出內存dump文件
jmap -F -dump:live,file=jmap.hprof [PID] ##### 3.3把dump文件從線上主機下載到本地
命令格式:  
scp local_file remote_username@remote_ip:remote_folder  
或者
scp local_file remote_username@remote_ip:remote_file  
或者
scp local_file remote_ip:remote_folder  
或者
scp local_file remote_ip:remote_file##### 3.4通過JDK自帶的jvisualvm工具分析或者下載三方軟件jprofiler來分析dump文件即可##### 3.5最重要的一點,要把fullgc發生時刻的dump文件和正常沒有發生fullgc時間的dump文件都下載到本地,然后對比觀察分析方便找到問題的原因

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260434.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260434.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260434.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

修改 jquery.validate.js 支持非form標簽

嘗試使用markdown來寫一篇blog,啦啦啦 源代碼傳送門:github 在特殊情況下我們使用jquery.validate.js對用戶輸入的內容做驗證的時候,表單并不是一定包含在form之中,有可能是一個div彈層,有可能是嵌套在form里面的一個d…

Linux常用文件和目錄操作

cd:變換目錄pwd:顯示弼前目錄mkdir:建立一個新目錄rmdir:刪除一個空目錄 cp:復制目錄或者文件 mv:移動文件或者目錄 rm:刪除文件或者目錄 轉載于:https://www.cnblogs.com/lijingpeng/archive/2012/09/07/2675982.html

淘淘商城項目mysql服務器_SpringMVC+Spring+Mybatis+Mysql+Maven+Svn[ 淘淘商城項目環境搭建 ]...

背景:淘淘商城項目的環境搭建說明:采用SpringMVCSpringMybatisMysqlMavenSvn結構搭建,在開發之中可以參考其結構和搭建步驟去搭建實際的工程項目工程結構簡圖:項目結構:---------------------------------------------…

bean validation校驗方法參數_項目啟動時首先校驗Spring Boot配置參數

1. 概述在項目實際開發過程中,為了更好的復用,我們參考Spring Boot Starters,封裝了許多企業內部中間件的starter。這些中間件的接入都需要申請并在項目中配置一些特定的參數。我們通過ConfigurationProperties注解,增加了在配置過…

進一步理解:inline-block,vertical-align,line-height

看似三個最常見的概念背后卻隱藏了很深的很深“水” 那有多深呢&#xff0c;先來看下面的代碼 引出問題 <style>.inline-block {display: inline-block;}.border {border: 1px solid #000000;}.span {width: 100px;height: 100px;}.bak {background: #33CCFF;} .o-hidden…

刷系統——黑屏問題

引用&#xff1a;http://www.miui.com/thread-344361-1-1.html 此貼大部分內容源自魔趣論壇V大的帖子&#xff0c;本人經過整理后發出&#xff0c;特此聲明原帖地址&#xff1a;http://bbs.mfunz.com/thread-172610-1-1.html——此貼獻給小白們&#xff0c;老鳥一笑而過吧近期有…

LeetCode OJ - Recover Binary Search Tree

題目&#xff1a; Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note:A solution using O(n) space is pretty straight forward. Could you devise a constant space solution? 解題思路&#xff…

mysql中間件是運維工作內容_linux運維工作的七項內容

一&#xff0c;【基礎運維檢查】或叫 例行檢查 或叫 例行巡檢mail cacti1.理解例行檢查列表的內容、檢查項的含義以及可能引發的問題。2.按照例行檢查表&#xff0c;定期檢查系統狀態&#xff0c;發現異常立即通報并推進解決。3.定期檢查線上服務模塊&#xff0c;排除可疑進程,…

java executor_Java并發編程(08):Executor線程池框架

一、Executor框架簡介1、基礎簡介Executor系統中&#xff0c;將線程任務提交和任務執行進行了解耦的設計&#xff0c;Executor有各種功能強大的實現類&#xff0c;提供便捷方式來提交任務并且獲取任務執行結果&#xff0c;封裝了任務執行的過程&#xff0c;不再需要Thread().st…

Exchange 2007遷移Exchange 2010應該注意的13件事

1. Exchange 2007可以支持升級到Exchange 2010&#xff0c;但需要提前將Exchange 2007所有服務器環境升級至 SP2或以上版本。2. Exchange 2007如果更新至SP2或以上版本&#xff0c;則建議按照以下順序進行各角色的更新&#xff1a; CAS、UM、HUB、Edge、Mailbox。3. …

dom4j操作XML

(一&#xff09;創建Document的基本操作 /** * XML基本操作 */ public void BaseOperation(){ //創建一個document Document documentDocumentHelper.createDocument(); //創建根結點 Element rootdocument.addElement("root"); //為根結點添加一個book節點 Element …

Oracle數據庫中閃回恢復的詳細分析

Oracle9i開始提供閃回查詢&#xff0c;以便能在需要的時候查到過去某個時刻的一致性數據&#xff0c;這是通過Undo實現的。這個功能有很大的限制&#xff0c;就是相關事務的undo不能被覆蓋&#xff0c;否則就無力回天了。oracle10g大大的增強了閃回查詢的功能&#xff0c;并且提…

python 查看當前目錄_「Python」打包分發工具setuptools學習

?setuptools是python標準的打包分發工具&#xff0c;它可以將我們編寫的python項目打包安裝&#xff0c;這樣其他同事就可以像調用標準庫或python第三方庫那樣直接使用&#xff1b;也可以將項目上傳到Pypi供更多人的下載安裝使用。?1. 項目結構項目結構?這是一個打包構建好的…

如何殺掉D狀態的進程?[zt]【轉】

轉自&#xff1a;http://blog.csdn.net/chinalinuxzend/article/details/4288791 [-] 如何殺掉D狀態的進程zt相關博文原貼:http://www.xclinux.cn/?p752 如何殺掉D狀態的進程&#xff1f;[zt] 狀態為 D (Uninterruptible sleep) &#xff0c;以及狀態為 Z (Zombie)這些垃圾進程…

九月十月百度人搜,阿里巴巴,騰訊華為筆試面試八十題(第331-410題)

九月十月百度人搜&#xff0c;阿里巴巴&#xff0c;騰訊華為小米搜狗筆試面試八十題 &#xff08;參與算法&面試題交流與討論&#xff0c;請加群&#xff1a;30382647&#xff09;引言 自發表上一篇文章至今&#xff08;事實上&#xff0c;上篇文章更新了近3個月之久&#…

mysql性能結構優化原理_MySQL性能管理及架構設計(二):數據庫結構優化、高可用架構設計、數據庫索引優化...

一、數據庫結構優化(非常重要)1.1 數據庫結構優化目的1、減少數據冗余&#xff1a;(數據冗余是指在數據庫中存在相同的數據&#xff0c;或者某些數據可以由其他數據計算得到)&#xff0c;注意&#xff0c;盡量減少不代表完全避免數據冗余&#xff1b;2、盡量避免數據維護中出現…

python git是什么_python爬蟲之git的使用

一、簡單認識&#xff1a; 1、初始化文件夾為版本控制文件夾&#xff0c;首先建立一個文件夾&#xff0c;進入這個文件夾以后輸入git init初始化這個文件夾。2、Git幾種位置概念 1、本地代碼&#xff1a;本地更改完代碼以后&#xff0c;雖然是存放在git的文件夾里面&#xff0c…

產品經理網站數據分析之測量問題現狀(二)

本章續接上文&#xff0c;主要講解流程圖的繪制要領&#xff0c;以及示例。 1、基礎流程圖 基礎流程圖應該簡明扼要地描述出流程的主要結構&#xff0c;在弄清楚流程的起點、終點&#xff0c;以及主要步驟后&#xff0c;按照流程的先后順序&#xff0c;按照要展示的流程長短比例…

鍵盤流的逆襲- Idea 中使用 VIM mode 提高生成效率

Idea 中使用 VIM mode 提高生成效率 安裝配置 Idea 的 vim 插件 先挖坑&#xff0c;后續再填。這個毫無技術含量&#xff0c;不寫了&#xff0c;自己去搜吧。 快捷鍵代替鼠標 打開文件 按兩下 shift 鍵 > 輸入類目文件名按 command e &#xff0c;打開最近編輯的文件列表&a…

git 撤銷掛起的更改_Timer計時任務因系統時間的修改導致掛起解決方案

之前開發的一款運行在定制Android設備上的一個實時監控程序發生了一個很奇怪的問題&#xff1a;關機狀態下放置了半個月左右的時間之后&#xff0c;再次開機使用&#xff0c;使用到一半的時候&#xff0c;顯示界面就卡死在某一個狀態下了(顯示界面只顯示一行文字&#xff0c;代…