国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Weblogic診斷之內存泄漏故障

IT那活兒 / 1309人閱讀
Weblogic診斷之內存泄漏故障

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!

在我們運維工作中經常會遇到內存不足或者內存泄漏的情況,本篇文章簡單介紹下遇到這類情況該如何去排查。


概述

當JVM沒有足夠的堆空間可用于分配新的Java對象時,就會出現Java堆內存不足錯誤。

1.1 Java堆內存不足故障癥狀

  • JVM會拋出Java.lang .OutOfMemoryError異常。
  • 服務響應緩慢或不響應業務請求。
  • 應用程序可以忽略錯誤或處理異常,例如友好退出。
  • 如果應用程序忽略錯誤,線程將會退出(且將不會出現在Thread dump中)。
  • WebLogic Server的執行線程只是通過記錄狀態來處理異常。
  • 但連續發生的錯誤將導致健康監控線程關閉服務器。

1.2 堆內存不足的可能原因

  • 沒有足夠的堆;
  • 對象的活動時間過長;
  • 應用程序在內存中緩存對象過多;
  • 內存泄漏;
  • 因存在jvm錯誤未能執行完整的GC;
  • 內存碎片。


排查步驟

2.1 先獲取應用進程號
ps  -ef | grep  應用名
2.2 查看pid jvm堆使用情況、垃圾回收情況 
jstat  -gcutil pid 1000 10(時間間隔1000ms,輸出10次)
2.3 開啟OOM快照(在啟動參數里面加)
-XX:+HeapDumpOnOutOfMemoryError(開啟堆快照)
-XX:HeapDumpPath=C:/m.hprof(保存文件到哪個目錄)
2.4 dump 查看方法棧信息
jstack -l pid > /home/test/jstack.txt
2.5 dump 查看JVM內存分配以及使用情況 
jmap -heap pid > /home/test/jmapHeap.txt
2.6 dump jvm二進制的內存詳細使用情況(需要借用內存分析工具如:Memory Analyzer (MAT)來分析

jmap -dump:format=b,file=/home/test/oom.hprof pid


解決方案

3.1 年老代堆空間被占滿
  • 異常:java.lang.OutOfMemoryError:java  heap space
  • 說明:這是最典型的內存泄漏方式,簡單說就是所有堆空間都被無法回收的垃圾對象占滿,虛擬機再也無法分配新空間。
  • 解決方案:這種方式解決起來比較簡單,一般就是根據垃圾回收前后的情況對比,同時根據對象引用情況(常見的集合對象引用)分析,基本都可以找到泄漏點。
3.2 持久代被占滿
  • 異常:java.lang.OutOfMemoryError:PermGen space
  • 說明:Perm 空間被占滿,無法為新的 class 分配存儲空間而引發的異常。主要原因是大量動態反射生成的類不斷被加載,最終導致 Perm 區被占滿。
  • 解決方案:增加持久代內存 ,例如:-XX:MaxPermSize=512M




本文作者:程 紅(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129207.html

相關文章

  • AIOps在攜程的踐行

    摘要:隨著人工智能時代的到來,攜程生產環境運維進入了新的運維時代。本文選取了幾種典型的運維場景對在攜程的踐行展開了介紹,首先讓我們從概念認識下。針對應用異常指標檢測這種場景,抽取一定的樣本統計,在基于專家經驗標注下的準確率可達到以上,召回率接近。 作者簡介徐新龍,攜程技術保障中心應用管理團隊高級工程師,負責多個AIOps項目的設計與研發。信號處理專業碩士畢業,對人工智能、機器學習、神經網絡及數學有...

    MingjunYang 評論0 收藏0
  • 診斷修復 TiDB Operator 在 K8s 測試中遇到的 Linux 內核問題

    摘要:診斷修復不穩定的關鍵詞社區相關問題起源薛定諤平臺是我司開發的基于建立的一套自動化測試框架,提供各種能力,同時也提供自動化的測試,各類異常監控告警以及自動輸出測試報告等功能。作者:張文博 Kubernetes(K8s)是一個開源容器編排系統,可自動執行應用程序部署、擴展和管理。它是云原生世界的操作系統。 K8s 或操作系統中的任何缺陷都可能使用戶進程存在風險。作為 PingCAP EE(效率工...

    EdwardUp 評論0 收藏0
  • 診斷修復 TiDB Operator 在 K8s 測試中遇到的 Linux 內核問題

    摘要:經過廣泛的調查和診斷,我們已經確定了處理這些問題的方法。我們發現在薛定諤平臺上做測試時偶爾會發生性能抖動,但從下面幾項來看未發現異常和的日志使用率內存和磁盤等負載信息只能偶爾看到命令執行的結果中包含一些信息。 作者:張文博 Kubernetes(K8s)是一個開源容器編排系統,可自動執行應用程序部署、擴展和管理。它是云原生世界的操作系統。 K8s 或操作系統中的任何缺陷都可能使用戶進程...

    PiscesYE 評論0 收藏0
  • 診斷修復 TiDB Operator 在 K8s 測試中遇到的 Linux 內核問題

    摘要:經過廣泛的調查和診斷,我們已經確定了處理這些問題的方法。我們發現在薛定諤平臺上做測試時偶爾會發生性能抖動,但從下面幾項來看未發現異常和的日志使用率內存和磁盤等負載信息只能偶爾看到命令執行的結果中包含一些信息。 作者:張文博 Kubernetes(K8s)是一個開源容器編排系統,可自動執行應用程序部署、擴展和管理。它是云原生世界的操作系統。 K8s 或操作系統中的任何缺陷都可能使用戶進程...

    LeanCloud 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<