1. 程式人生 > >jstat命令分析java程式記憶體回收情況

jstat命令分析java程式記憶體回收情況

命令格式:

jstat -gc <pid> <period> <times>

示例:

結果中每個專案的含義可以參考官方對jstat的文件,簡單翻譯如下:

- S0C: Young Generation第一個survivor space的記憶體大小 (kB).
- S1C: Young Generation第二個survivor space的記憶體大小 (kB).
- S0U: Young Generation第一個Survivor space當前已使用的記憶體大小 (kB).
- S1U: Young Generation第二個Survivor space當前已經使用的記憶體大小 (kB).
- EC: Young Generation中eden space的記憶體大小 (kB).
- EU: Young Generation中Eden space當前已使用的記憶體大小 (kB).
- OC: Old Generation的記憶體大小 (kB).
- OU: Old Generation當前已使用的記憶體大小 (kB).
- PC: Permanent Generation的記憶體大小 (kB)
- PU: Permanent Generation當前已使用的記憶體大小 (kB).
- YGC: 從啟動到取樣時Young Generation GC的次數
- YGCT: 從啟動到取樣時Young Generation GC所用的時間 (s).
- FGC: 從啟動到取樣時Old Generation GC的次數.
- FGCT: 從啟動到取樣時Old Generation GC所用的時間 (s).
- GCT: 從啟動到取樣時GC所用的總時間 (s).

相關推薦

jstat命令分析java程式記憶體回收情況

命令格式: jstat -gc <pid> <period> <times> 示例: 結果中每個專案的含義可以參考官方對jstat的文件,簡單翻譯如下: - S0C: Young Generation第一個survivor spac

Java程式記憶體分析:jdk自帶的jmap能為我們帶來什麼

jmap 打印出某個java程序(使用pid)記憶體內的,所有‘物件’的情況(如:產生那些物件,及其數量)。 可以輸出所有記憶體中物件的工具,甚至可以將VM 中的heap,以二進位制輸出成文字。使用方法 jmap -histo pid。如果連用SHELL jmap -histo pid&g

Java程式記憶體分析:使用mat工具分析記憶體佔用

MAT 不是一個萬能工具,它並不能處理所有型別的堆儲存檔案。但是比較主流的廠家和格式,例如 Sun, HP, SAP 所採用

java記憶體回收(2)

1垃圾回收機制只負責回收堆記憶體中除了字串常量池之外的物件,垃圾回收機制是後臺執行緒,因此執行時間不固定,只有在虛擬機器空閒時排程器才有可能排程垃圾回收後臺執行緒,使其佔用處理機,因此垃圾回收後臺執行緒的執行緒執行體不一定什麼時候執行   2可達狀態----可恢復狀態(fina

通過javap命令分析java彙編指令

一、javap命令簡述 javap是jdk自帶的反解析工具。它的作用就是根據class位元組碼檔案,反解析出當前類對應的code區(彙編指令)、本地變量表、異常表和程式碼行偏移量對映表、常量池等等資訊。 當然這些資訊中,有些資訊(如本地變量表、指令和程式碼行偏移量對映表、常量池中方法的引數名稱等

Java 獲取記憶體使用情況

公司要求將各個裝置上傳的資料分析並且匯出到統一的一個表中,目前在準備,資料比較多,所以需要考慮到記憶體的使用情況,經網上查詢使用,出現了以下問題。 第一種方法Runtime LogUtils.debug("TotalMemory", Runtime.getRuntime(

java記憶體回收機制

如何確定一個物件是否可以被回收? 1、 引用計數演算法:判斷物件的引用數量 2、 可達性分析演算法:判斷物件到GC Root引用鏈是否可達 ps:c++中解決迴圈引用的方法: 1. 當只剩下最後一個引用的時候需要手動打破迴圈引用釋放物件。2. 當A的生存期超過B的生存

使用JDK 1.6自帶的jvisualvm監控遠端伺服器中Java程式資源佔用情況

熱度:       因為做實驗的需要,最近把實驗室的Web資料抽取程式修改為多執行緒版本並在伺服器上做大量的資料抽取工作,伺服器是Ubuntu Server 10.01版本,通過Putty連線監控程式的執行情況非常不直觀,需要使用一個Java資源監控程式實現對目標程式的實時監控。Jdk1.5版本

Java提高——Java記憶體回收(1)

Java引用的種類 當程式設計師通過new關鍵字建立物件,即視為為Java物件申請記憶體空間。JVM會在堆記憶體中為每個物件分配空間;當一個物件失去引用的時候,JVM垃圾回收機制會自動清除他們,並回收他們所佔用的記憶體空間。 Java記憶體管理包括記憶體分配(建立Java

Java記憶體回收

Java虛擬機器記憶體原型 暫存器:我們在程式無法控制 棧:存放基本型別的資料和物件的引用,但物件本身不存放在棧中,而是堆中 存取速度比堆塊,僅次於暫存器,棧資料可以共享,棧的資料大小與生存期必須是確定的,缺乏靈活性。 堆:存放new產生的資料 可以動

如何避免java程式記憶體洩漏

雖然jvm有垃圾回收機制,如果程式編寫不注意某些特定規則,仍然會導致java程式記憶體洩漏,最終可能出現OutOfMemory異常。 1.Java記憶體洩漏的原因 java中的物件從使用上分為2種類型,被引用(referenced)的和不被引用(unre

在Eclipse中使用MAT分析Android程式記憶體使用狀況(轉)

對於Android這種手持裝置來說,通常不會帶有太大的記憶體,而且一般使用者都是長時間不重啟手機,所以編寫程式的時候必須要非常小心的使用記憶體,儘量避免有記憶體洩露的問題出現。通常分析程式中潛在記憶體洩露的問題是一件很有難度的工作,一般都是由團隊中的資深工程師負責,而且隨著程式程式碼量的提高,難度還會逐步加大

java程式記憶體溢位一般什麼原因

JVM記憶體設定小了 或者一次性讀的資料過大 例如list vertor 一、記憶體溢位型別 1、java.lang.OutOfMemoryError: PermGen space JVM管理兩種型別的記憶體,堆和非堆。堆是給開發人員用的上面說的就是,是在JVM啟動時建立;非堆是留給JVM自己用的,用來存放類

(8)利用JConsole工具監控java程式記憶體和JVM

一.找到java應用程式對應的程序PI 部署的應用伺服器為tomcat6.028 啟動tomcat伺服器後,工作管理員裡可以看到多了java.exe程序,如圖 PS:這裡啟動了多個其他程式       2.查詢測試應用程式對應的程序PID號(根據埠號查詢)  

JAVA檢視記憶體使用情況

一、使用JAVA類庫 空閒記憶體: Runtime.getRuntime().freeMemory() 總記憶體: Runtime.getRuntime().totalMemory() 最大記憶體: Runtime.getRuntime().maxMemory() 已佔用的

關於cmd執行java程式出現亂碼情況解決辦法

中午在執行一個程式時(我用的notepad++),突然出現亂碼,然後百度之後知道很多像我一樣的新手都遇到過這樣的問題。話不多說上解決辦法: 辦法:開啟notepad++,點選視窗上方的 “編碼”  選項,然後選下邊的  “轉為ANSI”  選項,重啟cmd,按照步驟執行程式

c++常見面試題-C/C++程式記憶體分配情況

1.由C/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)—   由編譯器自動分配釋放 ,存放為執行函式而分配的區域性變數、函式引數、返回資料、返回地址等。其操作方式類似於資料結構中的棧。 2、堆區(heap) —   一般由程式設計師分配釋放, 若程式

Java| 命令編譯Java程式以及執行class檔案(javac)

本文主要說明了以下內容: 1.如何編譯一個無包結構的java檔案,以及執行該檔案? 2.如何編譯一個有包結構的java檔案,以及如何執行該檔案? 3.如何批量編譯java檔案,以及如何執行生成的檔案? 首先我們先看下javac命令的常用操

Java提高——Java記憶體回收(2)

Java的記憶體洩漏記憶體洩漏:程式執行過程中,不斷的分配記憶體空間,那些不再使用的記憶體空間應該即時回收,,從而保證系統可以再次使用這些記憶體。如果存在無用的記憶體沒有被回收,那麼就是記憶體洩漏。垃圾回收機制垃圾回收機制主要完成以下兩件事:1、跟蹤並監控每個Java物件,當

java 各種記憶體溢位情況與配置解決方法

轉載自:http://blog.csdn.net/sinat_29912455/article/details/51125748  僅供個人學習用,如涉及到版權問題,請聯絡博主、 1、堆記憶體溢位 【情況一】:    Java.lang.OutOfMemoryErro