日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

準備工作

本文簡單介紹分析前的準備工作

第一步:生成數據源

應用診斷分析平臺(ATP)只提供診斷分析能力,需要您準備數據源以供分析。

1. 什么是數據源?

取決于您想分析的應用問題,數據源有所不同。

Q:發現GC頻率過快?GC回收效率低下?應用出現OutOfMemoryError等問題?

A:生成Java堆轉儲文件(Heap Dump)

Q:發現CPU負載過高?應用卡死?線程過高

A:生成Java棧文件

Q:評估GC性能?發現長時間卡頓?

A:尋找Java GC日志文件

2. 生成數據源

2.1 生成Java轉儲文件

Java轉儲文件即Heap dump文件,可以通過以下方式生成

說明

命令

jmap命令保存整個Java堆(推薦)

jmap -dump:format=b,file=heap.bin <pid>

jmap命令只保存Java堆中的存活對象

jmap -dump:live,format=b,file=heap.bin <pid>

jcmd命令保存整個Java堆

jcmd <pid> GC.heap_dump filename=heap.bin

在出現OutOfMemoryError的時候JVM自動生成(推薦)

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heap.bin

在出現Full GC前后JVM自動生成

-XX:+HeapDumpBeforeFullGC-XX:+HeapDumpAfterFullGC

編程的方式生成

使用HotSpotDiagnosticMXBean.dumpHeap()方法

使用ATP官方客戶端生成

https://github.com/aliyun/aliyun-atp-sdk

-XX:+HeapDumpBeforeFullGC-XX:+HeapDumpAfterFullGC會導致JVM在發生Full GC前后都花費大量時間自動生成Java堆轉儲文件,建議您僅在需要的時候打開它們:

jinfo -flag +HeapDumpBeforeFullGC <pid> # 打開HeapDumpBeforeFullGC
jinfo -flag -HeapDumpAfterFullGC <pid> # 關閉HeapDumpAfterFullGC

2.2 生成Java棧文件

Java棧文件可以通過以下方式生成:

說明

命令

jstack生成,推薦

jstack <pid> > jstack.log

jcmd生成

jcmd 7662 Thread.print > jstack.log

使用ATP官方客戶端生成

https://github.com/aliyun/aliyun-atp-sdk

2.3 生成Java GC日志文件

Java GC日志需要在應用啟動時設置GC日志打印相關的JVM參數來開啟,以下是推薦的參數設置,僅供參考:

# Java8及以下
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:<path>

# Java9及以上
-Xlog:gc*:<path>:time

其它的GC日志打印相關參數可參考Oracle官方文檔

注:

  1. 使用以上參數可以將GC日志打印到<path>中,請務必指定path,否則GC日志默認會打印到stdout里,可能導致ATP無法正常解析

  2. 當前ATP只支持JDK8及以上版本的JDK生成的GC日志,且只支持Serial GC、Parallel GC、CMS GC、G1 GC和ZGC

第二步:上傳數據源

生成數據源后,您需要將它上傳到應用診斷分析平臺。根據數據源的不同,您需要先在頁面左側選擇合適的分析工具:

  • Java堆分析

  • Java線程棧分析

  • Java GC日志分析

然后點擊 上傳文件 按鈕上傳數據源。目前應用診斷分析平臺支持以下上傳方式:

  • 通過URL上傳(為OSS文件生成URL鏈接請參見OSS文檔

  • 通過OSS上傳(需要您的授權,用以訪問OSS文件)

  • 粘貼文本上傳(只支持線程棧分析和GC日志分析,需小于10MB

  • 本地文件上傳(只支持線程棧分析和GC日志分析,需小于10MB,僅支持*.log和*.txt擴展名

注意,因為ATP平臺會下載您的文件,如果您使用OSS上傳會產生流量費用,詳情請參見OSS計費標準

第三步:開始分析

當您的數據源上傳完成后,點擊 分析 按鈕進行分析,當分析完成后會自動跳轉到分析結果頁面以供您分析問題。具體如何進行問題分析請參見其它幫助文檔