1. 程式人生 > >(jvm調優)一、linux記憶體檢視命令

(jvm調優)一、linux記憶體檢視命令

1.整體情況檢視(工作管理員):top
第三行就是CPU的使用情況了,如下:
%Cpu(s)us使用者空間佔用CPU百分比sy核心空間佔用CPU百分比ni使用者程序空間內改變過優先順序的程序佔用CPU百分比id空閒CPU百分比wa等待輸入輸出的CPU時間百分比hiCPU服務於硬體中斷所耗費的時間總額siCPU服務軟中斷所耗費的時間總額stSteal Time
top -p pid
top -u user
2.記憶體使用情況:free -m
total:總計實體記憶體的大小。
used:已使用多大。
free:可用有多少。
Shared:多個程序共享的記憶體總額。
Buffers/cached:磁碟快取的大小。
可用記憶體=系統free memory+buffers+cached。
3.Linux使用jstat命令檢視jvm的GC情況


jstat命令命令格式:
jstat [Options] vmid [interval] [count]
引數說明:
Options,選項,我們一般使用 -gcutil 檢視gc情況
vmid,VM的程序號,即當前執行的java程序號
interval,間隔時間,單位為秒或者毫秒
count,列印次數,如果預設則列印無數次
示例說明
示例
通常執行命令如下:
jstat -gc 12538 5000
即會每5秒一次顯示程序號為12538的java進成的GC情況

說明
S0C、S1C、S0U、S1U:Survivor 0/1區容量(Capacity)和使用量(Used)
EC、EU:Eden區容量和使用量
OC、OU:年老代容量和使用量
PC、PU:永久代容量和使用量
YGC、YGT:年輕代GC次數和GC耗時
FGC、FGCT:Full GC次數和Full GC耗時
GCT:GC總耗時

顯示內容說明如下(部分結果是通過其他其他引數顯示的,暫不說明):
S0C:年輕代中第一個survivor(倖存區)的容量 (位元組)
S1C:年輕代中第二個survivor(倖存區)的容量 (位元組)
S0U:年輕代中第一個survivor(倖存區)目前已使用空間 (位元組)
S1U:年輕代中第二個survivor(倖存區)目前已使用空間 (位元組)
EC:年輕代中Eden(伊甸園)的容量 (位元組)
EU:年輕代中Eden(伊甸園)目前已使用空間 (位元組)
OC:Old代的容量 (位元組)
OU:Old代目前已使用空間 (位元組)
PC:Perm(持久代)的容量 (位元組)
PU:Perm(持久代)目前已使用空間 (位元組)
YGC:從應用程式啟動到取樣時年輕代中gc次數
YGCT:從應用程式啟動到取樣時年輕代中gc所用時間(s)
FGC:從應用程式啟動到取樣時old代(全gc)gc次數
FGCT:從應用程式啟動到取樣時old代(全gc)gc所用時間(s)
GCT:從應用程式啟動到取樣時gc用的總時間(s)
NGCMN:年輕代(young)中初始化(最小)的大小 (位元組)
NGCMX:年輕代(young)的最大容量 (位元組)
NGC:年輕代(young)中當前的容量 (位元組)
OGCMN:old代中初始化(最小)的大小 (位元組)
OGCMX:old代的最大容量 (位元組)
OGC:old代當前新生成的容量 (位元組)
PGCMN:perm代中初始化(最小)的大小 (位元組)
PGCMX:perm代的最大容量 (位元組)
PGC:perm代當前新生成的容量 (位元組)
S0:年輕代中第一個survivor(倖存區)已使用的佔當前容量百分比
S1:年輕代中第二個survivor(倖存區)已使用的佔當前容量百分比
E:年輕代中Eden(伊甸園)已使用的佔當前容量百分比
O:old代已使用的佔當前容量百分比
P:perm代已使用的佔當前容量百分比
S0CMX:年輕代中第一個survivor(倖存區)的最大容量 (位元組)
S1CMX :年輕代中第二個survivor(倖存區)的最大容量 (位元組)
ECMX:年輕代中Eden(伊甸園)的最大容量 (位元組)
DSS:當前需要survivor(倖存區)的容量 (位元組)(Eden區已滿)
TT: 持有次數限制
MTT : 最大持有次數限制
4.如何使用jmap工具


jmap命令列工具用於生成堆轉儲快照,一般為Heapdump或dump檔案;jmap不僅可以獲取dump檔案而且還可以獲取Java堆和永久代的詳細資訊等
命令格式:
jmap [option] vmid
相關引數:
-dump : 生成Java堆轉儲快照
-heap:顯示Java堆詳細資訊
-histo:顯示堆中物件統計資訊

使用jsp檢視jconsole程序號
jps -l
使用jmap 生成快照檔案
jmap -dump:format=b,file=jsconsole.bin 7020
使用jmap檢視堆疊資訊
jmap -heap pid

相關推薦

jvm調linux記憶體檢視命令

1.整體情況檢視(工作管理員):top 第三行就是CPU的使用情況了,如下: %Cpu(s)us使用者空間佔用CPU百分比sy核心空間佔用CPU百分比ni使用者程序空間內改變過優先順序的程序佔用CPU百分比id空閒CPU百分比wa等待輸入輸出的CPU時間百

JVM高手之路七tomcat調以及tomcat78效能對比

      因為每個鏈路都會對其效能造成影響,應該是全鏈路的修改壓測(ak大神經常說全鏈路)。本次基本就是區域網,所以並沒有怎麼優化,其實也應該考慮

SQL優化SQL TUNING之10分鐘完畢億級數據量性能優化SQL調

font 一個 進一步 結束 語句 pop 技術分享 處理 fill 前幾天。一個用戶研發QQ找我,例如以下: 自由的海豚。 16:12:01 島主,我的一條SQL查不出來結果,能幫我看看不? 蘭花島主 16:12:10 多久不出結果? 自由的海豚 16:12:17

SQL優化SQL TUNING之10分鐘完成億級數據量性能優化SQL調

rom 分享 分鐘 jsb tab tex sql調優 emf group 前幾天,一個用戶研發QQ找我,如下: 自由的海豚。 16:12:01 島主,我的一條SQL查不出來結果,能幫我看看不? 蘭花島主 16:12:10 多久不出結果? 自由的海豚 16:

JVM調引數簡介調目標及調經驗

一、JVM調優引數簡介1、 JVM引數簡介-XX 引數被稱為不穩定引數,之所以這麼叫是因為此類引數的設定很容易引起JVM 效能上的差異,使JVM 存在極大的不穩定性。如果此類引數設定合理將大大提高JVM 的效能及穩定性。不穩定引數語法規則:1.布林型別引數值        -

mysql學習筆記之--引數設定效能調

MySQL效能調優之引數設定 命令 1.show processlist;  //檢視mysql的連線資訊 2.sel

JVM調--------理解java虛擬機器記憶體模型

java虛擬機器記憶體模型是java程式執行的基礎,為了能使Java應用程式正常執行,JVM虛擬機器將記憶體資料分為程式計數器,虛擬機器棧,本地方法棧,Java堆和方法區 程式計數器用於存放下一條執行的指令;虛擬機器棧和本地方法棧用於存放函式呼叫堆疊資訊;java堆用於存放Java程式執行時所需

()Linux 常用操作命令(持續學習更新ing……)

一、建立普通使用者 $ useradd zhangsan //建立使用者 $ passwd zhangsan //初始化密碼 $ userdel zhangsan //刪除使用者 $ rm -rf zhangsan //刪除使用者張三所在目錄 $ usermod

JVM調總結-反思

垃圾回收的悖論     所謂“成也蕭何敗蕭何”。Java的垃圾回收確實帶來了很多好處,為開發帶來了便利。但是在一些高效能、高併發的情況下,垃圾回收確成為了制約Java應用的瓶頸。目前JDK的垃圾回收演算法,始終無法解決垃圾回收時的暫停問題,因為這個暫停嚴重影響了程式

JVM調虛擬機器的記憶體模型

前言 Java虛擬機器記憶體模型是Java程式執行的基礎,JVM虛擬機器的記憶體模型如下圖: 程式計數器 程式計數器(Program Counter Register)是一塊很小的記憶體空間。由於java是支援多執行緒的語言,當執行緒數超過cpu的數量時,執行緒之間根據時間片輪詢搶

JVM調——Linux下監控java執行緒

Linux環境下,當發現java程序佔用CPU資源非常高,且又要想更進一步查出哪一個java執行緒佔用了CPU資源時該如何做呢? 一、採用命令列形式檢視執行緒,最終用dump進行文字分析 1、top命令既可以看程序,又可以看執行緒 1、top命令找出佔用資源厲害

JVM調總結:基本概念

一、資料型別   Java虛擬機器中,資料型別可以分為兩類:基本型別和引用型別。   基本型別的變數儲存原始值,即:他代表的值就是數值本身; 而引用型別的變數儲存引用值。“引用值”代表了某個物件的引用,而不是物件本身,物件本身存放在這個引用值所表示的地址的位置。

JVM調9jstack定位死迴圈執行緒阻塞死鎖等問題

當我們執行java程式時,可能會出現死迴圈,IO阻塞,執行緒死鎖等問題,導致程式無法進行下去,但從程式碼上有無法確定問題出現的具體原因或者地方。可以使用JDK自帶的jstack工具去簡單定位; 死迴圈 程式如下: /** * @Author Ralph * 死迴圈定位

JVM調總結-- 一些概念

資料型別     Java虛擬機器中,資料型別可以分為兩類:基本型別和引用型別。基本型別的變數儲存原始值,即:他代表的值就是數值本身;而引用型別的變數儲存引用值。“引用值”代表了某個物件的引用,而不是物件本身,物件本身存放在這個引用值所表示的地址的位置。 基本型別包括

tomcat jvm 調監控Linux

 jps -v 檢視當前java的程序 jmap -histo 4037 > b.log 將 tomcat程序 的日誌 放入到 b.log檔案裡面 ,然後下載這個日誌檔案 檢視,是哪些類暫用記憶體比較多 jstat -gcutil  4037  2000 檢視

JVM調Permanent Generation

最近在一次搭建公司系統執行環境的時候tomcat總是報出 java.lang.OutOfMemoryError PermGen space 的問題,即記憶體溢位 在解決這個問題的時候 一.問題解決 此處用到一個命令:jmap 顯示java堆中的詳

JVM調系列:JVM常用調試參數和工具

框架 break 統計 進程 -i 內存 文件的 /etc/ action 轉自:http://blog.csdn.net/opensure/article/details/46715769 JVM常用調試參數: –verbose:gc在虛擬機發生內存

JVM調總結-分代垃圾回收詳述

web服務器 mar you 數量 不變 all 時間 lis 完成 為什麽要分代 分代的垃圾回收策略,是基於這樣一個事實:不同的對象的生命周期是不一樣的。因此,不同生命周期的對象可以采取不同的收集方式,以便提高回收效率。 在Java程序運行的過程中,會

JVM調總結-調方法

圖片 死鎖 ron 詳細信息 ict 時間 最大 bsp 底部 JVM調優工具 Jconsole,jProfile,VisualVM Jconsole : jdk自帶,功能簡單,但是可以在系統有一定負荷的情況下使用。對垃圾回收算法有很詳細的跟蹤。詳細說明參考這裏 JP

JVM調總結-反思

pdf col 實現 aio https 重要 簡單 什麽 tps 垃圾回收的悖論 所謂“成也蕭何敗蕭何”。Java的垃圾回收確實帶來了很多好處,為開發帶來了便利。但是在一些高性能、高並發的情況下,垃圾回收確成為了制約Java應用的瓶頸。目