1. 程式人生 > >JVM FULL GC太頻繁,CPU佔用率過高問題

JVM FULL GC太頻繁,CPU佔用率過高問題

一,問題描述

   今天上午時候,kafka的一個topic湧上來超過平常值的一堆資料,消費客戶端就開始出現了幾個明顯的問題:       1,首先是ZK連線超時       2,CPU飆升到400%       3,觀察程式GC,發現老年代,S0,Eden這三個,100%;       4,執行緒數目太多

二,問題分析

         在從kafka獲取到資料之後,我使用了一個可回收執行緒池來進行存入hbase的操作,可回收執行緒池在使用時候,如果執行緒不夠用,就會繼續去建立執行緒,導致最後觀察的時候,發現這個程序有2000多個執行緒在跑,執行緒之間的切換,是很耗費效能的,所以帶來的CPU飆升,後來使用了固定大小的執行緒池,多開幾個客戶端取消費的方式,發現CPU降低下去了;隨之下去的是GC情況,觀察了幾個鐘頭,始終沒有發現FULL GC的情況。另外,在使用Kafka去拉取資料的時候,每次拉取完,使用Thread.sleep 0的方式,暫時讓出CPU,不讓這個獲取資料的執行緒長期佔用時間片;程式正常跑了之後,又回頭想了想ZK連線超時的問題,感覺可能是FULL GC太頻繁,每次都需要耗費很長的時間,導致了連線超時的問題;

相關推薦

JVM FULL GC頻繁CPU用率問題

一,問題描述    今天上午時候,kafka的一個topic湧上來超過平常值的一堆資料,消費客戶端就開始出現了幾個明顯的問題:       1,首先是ZK連線超時       2,CPU飆升到400% 

Sublime Text 3 CPU用率 && WebStorm記憶體佔用

  用Sublime Text 3或WebStorm進行前端開發時,遇到了同樣的問題:當專案檔案比較多或檔案比較大時,CPU佔用率或記憶體佔用持續比較高,後來經查閱發現是index files導致的,可以理解為:Sublime Text 3或WebStorm需要不斷重新整理檔案索引,不斷將專案檔案從硬碟中讀到

線上Java程式導致伺服器CPU用率的問題排除過程

1、故障現象 客服同事反饋平臺系統執行緩慢,網頁卡頓嚴重,多次重啟系統後問題依然存在,使用top命令檢視伺服器情況,發現CPU佔用率過高。 2、CPU佔用過高問題定位 2.1、定位問題程序 使用top命令檢視資源佔用情況,發現pid為14063的程序佔用了大量的CPU

記一次Spring Websocket後臺伺服器CPU用率的問題排查過程

背景 最近在做Spring Websocket後臺程式的壓力測試,但是當併發數目在10個左右時,伺服器的CPU使用率一直在160%+,出現這個問題後,一開始很納悶,雖然伺服器配置很低,但也不至於只有10個併發吧。。伺服器的主要配置如下: CPU:2核 In

Java程式導致伺服器CPU用率的問題

1、故障現象 客服同事反饋平臺系統執行緩慢,網頁卡頓嚴重,多次重啟系統後問題依然存在,使用

使用GNS3配置路由器後CPU用率達90%該如何解決

一、在使用GSN3配置路由器的時候,CPU佔用率太高,後經過上網查詢相關資料,發現以下操作可以解決這個問題。 1,如下圖所示,選擇R1,直接右擊選擇Idle PC一欄,修改Idle PC 值 2,選擇預設帶 "*"號的值,儲存一下 3,其他路由器依次這樣進行設定,然後

IIS解決CPU和記憶體用率的問題

發現程序中的w3wp佔用率過高。   經過查詢,發現如下:   w3wp.exe是在IIS(因特網資訊伺服器)與應用程式池相關聯的一個程序,如果你有多個應用程式池,就會有對應的多個w3wp.exe的程序例項執行。這個程序用來分配大量的系統資源。這個程序對於系統的穩定和安

上下文切換頻繁導致load average

一、問題現象 現網有兩臺虛擬機器主機95%的cpu處於idle狀態,記憶體使用率也不是特別高,而主機的load average達到了40多。 二、問題分析 先在主機上通過top、free、ps、iostat 等常用工具分析了下主機的CPU、記憶體、IO使用情況,發現三者都不高。通過vmstat 1

雲伺服器 ECS Linux 系統 CPU 用率問題排查思路

如果雲伺服器 ECS Linux 系統的 CPU 持續跑高,則會對系統穩定性和業務執行造成影響。本文對 CPU 佔用率較高問題的排查分析做簡要說明。可以通過 vmstat 從系統維度檢視 CPU 資源的使用情況。用法說明:格式:vmstat -n 1-n 1表示結果一秒重新整理一次。示例輸出:$ vmstat

Linux 系統 CPU 用率問題排查思路

CPU負載檢視方法: 使用vmstat檢視系統維度的CPU負載 使用top檢視程序維度的CPU負載 使用 vmstat 檢視系統緯度的 CPU 負載: 可以通過 vmstat 從系統維度檢視 CPU 資源的使用情況。 用法說明: 格式:vmstat -n 1# -n 1

線上Java程序導致服務器CPU用率的問題排除過程

pid rem www fin mage 程序代碼 print 故障現象 read 博文轉至:http://www.jianshu.com/p/3667157d63bb,博文更好效果看原版,轉本博文的目的就算是個書簽吧,需要時候可以定位原文學習 1、故障現象 客服同

記一次線上Java程序導致服務器CPU用率的問題排除過程

tasks all lob jstat rip 進行 runable tails 分享圖片 https://blog.csdn.net/u013991521/article/details/52781423 1、故障現象 客服同事反饋平臺系統運行緩慢,網頁卡頓嚴重,多次重啟

壓力測試過程中MySQL服務CPU用率的問題排查思路

建立索引 效果 mysql服務器 還要 數據庫服務 如果 頻率 water vpd 〇、經驗總結: 在關註業務接口的TPS時,也要關註數據庫服務器的QPS。如果一個業務流程裏包含多條查詢,那麽業務接口TPS的上升對數據庫服務器QPS的放大效應會很明顯。 如果查詢結果集不大

JVM面試--full gc頻繁該如何處理

監控工具:jvisualVM、VisaulVM、jprofiler JVM優化書籍:《Java效能優化權威指南》、《深入理解java虛擬機器》 1.年輕代空間不足 2.per Gen(永久代)空間滿 3.CMS GC時出現promotion failed和concurre

java-jvm-full gc頻繁的分析及解決

關於應用full gc頻繁的分析及解決 很久前的工作日記了,移到ITeye上來。 現象 系統報警full gc次數過多,每2分鐘達到了5~6次,這是不正常的現象 在full gc報警時的gc.log如下: 在full gc報警時的jstat如下: sudo -u admin -H /opt/taobao/

java獲取JVMCPU用率、記憶體用率、執行緒數及伺服器的網口吞吐率、磁碟讀寫速率

怎麼說呢,本人菜鳥一枚,費了幾天時間,終於做了一個用java獲取JVM的CPU佔用率、記憶體佔用率、執行緒數及伺服器的網口吞吐率、磁碟讀寫速率的實現。 其中windows環境下獲取jvm 的cpu佔用率這裡是參考網上別人的東西(在此感謝提供參考的網友),其他的都是基於自己的想法做出來的。該工具類

intellij idea cpu用率滿 執行速度慢 使了五個解決方法最終成功

突然發現,intellij idea 特別卡,在程式碼間移動的時候,居然重新整理都跟不上,然後開啟工作管理員一看,CPU佔用率100%。。。intellij idea自己一個程式的佔用率就高達80~90,這還只是單純的開啟,沒有做其他任何操作。然後,就是解決唄。 方法一:升級idea。 去官

angularjs input 搜尋框觸發請求頻繁使用lodash.js的 debounce節流提高效能

由於個人專案是使用angularjs1.3以上,則可以直接使用angularjs 自帶的 ng-model-options="{ debounce: 1000 }"屬性即可 <div ng-controller="Ctrl"> <form name

C++程式設計中利用WINDOWS API獲得系統狀態資訊[CPU用率硬碟使用情況記憶體使用情況]

#include <Ice/Ice.h> #include <iostream> #include <GetWinSysState.h> #include <Winbase.h> #include <conio.h>

intellij idea cpu用率滿 執行速度慢 使了五個解決方法最終成功

突然發現,intellij idea 特別卡,在程式碼間移動的時候,居然重新整理都跟不上,然後開啟工作管理員一看,CPU佔用率100%。。。intellij idea自己一個程式的佔用率就高達80~90,這還只是單純的開啟,沒有做其他任何操作。然後,就是解決唄。 方法一:升