java 堆調優

 

一.查看kafka集羣的broker的堆內存使用狀況 服務器

1>.使用jstat查看gc的信息([root@kafka116 ~]# jstat -gc 12698 1s 30)架構

複製代碼
參數說明:S0C:第一個倖存區的大小
  S1C:第二個倖存區的大小
  S0U:第一個倖存區的使用大小
  S1U:第二個倖存區的使用大小
  EC:伊甸園區的大小
  EU:伊甸園區的使用大小
  OC:老年代大小
  OU:老年代使用大小
  MC:方法區大小
  MU:方法區使用大小
  CCSC:壓縮類空間大小
  CCSU:壓縮類空間使用大小
  YGC:年輕代垃圾回收次數
  YGCT:年輕代垃圾回收消耗時間
  FGC:老年代垃圾回收次數
  FGCT:老年代垃圾回收消耗時間
  GCT:垃圾回收消耗總時間
複製代碼

2>.使用jmap查看kafka當前的堆內存信息([root@kafka116 bin]# jmap -heap 12698)運維

 

  通過上面兩個圖的分析,咱們要觀察伊甸區,倖存區以及年老代整體的使用量,發現他們的使用率都是80%以上呢!並且gc的評論是74萬屢次,過多的gc會將服務器的性能下降。所以考慮調大Kafka集羣的堆內存(heap)是刻不容緩的事情。好,接下來咱們如何去調試呢?以及將對內存調大應該注意那些事項呢?post

  第一:kafka集羣不要集體修改,要一臺一臺的去調整,因爲我有5臺broker,它容許我掛掉2臺broker;性能

  第二:修改kafka-server-start.sh啓動腳本,建議先改爲15G(個人kafka集羣的配置相對較低,32G內存,32core,80T硬盤),若是仍是不夠的話能夠考慮繼續加大heap內存的配置;學習

 

二.對kafka進行調優案例實操大數據

1>.查看默認的配置spa

2>.修改kafka啓動腳本的配置文件調試

 

3>.重啓當前broker的Kafka服務code

複製代碼
[root@kafka116 bin]# kafka-server-stop.sh                                       #中止當前的kafka進程
[root@kafka116 bin]# 
[root@kafka116 bin]# kafka-server-start.sh -daemon /soft/kafka/config/server.properties          #啓動當前的kafka進程
[root@kafka116 bin]# 
[root@kafka116 bin]# 
[root@kafka116 bin]# jps                                                  #查看kafka進程是否啓動
5460 Kafka
4246 ProdServerStart
23014 Jps
[root@kafka116 bin]# 
複製代碼

4>.查看調優後的內存

5>.查看調整後的JVM使用狀況

 

當你的才華還撐不起你的野心的時候,你就應該靜下心來學習。當你的能力還駕馭不了你的目標的時候,你就應該沉下心來歷練。問問本身,想要怎樣的人生。 歡迎加入 基礎架構自動化運維:598432640,大數據SRE進階之路:959042252
相關文章
相關標籤/搜索