Linux 查詢系統命令

1.TOP -H -p 命令

通過TOP -H -p 進程ID,找到具體的線程佔用情況,Shift+H可以開啓關閉線程顯示。查看某一個進程的線程情況

2.pstack 進程id 命令 

  pstack 進程id顯示線程堆棧,就是佔用CPU最高的堆棧,可以具體分析什麼原因造成的。

jstat命令可以查看堆內存各部分的使用量,以及加載類的數量。命令的格式如下:

 jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數]

 注意!!!:使用的jdk版本是jdk8.

 

  類加載統計:

 

  • Loaded:加載class的數量
  • Bytes:所佔用空間大小
  • Unloaded:未加載數量
  • Bytes:未加載佔用空間
  • Time:時間

 

  編譯統計

 

  • Compiled:編譯數量。
  • Failed:失敗數量
  • Invalid:不可用數量
  • Time:時間
  • FailedType:失敗類型
  • FailedMethod:失敗的方法

 

  垃圾回收統計

 

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

 

  堆內存統計

  

  • NGCMN:新生代最小容量
  • NGCMX:新生代最大容量
  • NGC:當前新生代容量
  • S0C:第一個倖存區大小
  • S1C:第二個倖存區的大小
  • EC:伊甸園區的大小
  • OGCMN:老年代最小容量
  • OGCMX:老年代最大容量
  • OGC:當前老年代大小
  • OC:當前老年代大小
  • MCMN:最小元數據容量
  • MCMX:最大元數據容量
  • MC:當前元數據空間大小
  • CCSMN:最小壓縮類空間大小
  • CCSMX:最大壓縮類空間大小
  • CCSC:當前壓縮類空間大小
  • YGC:年輕代gc次數
  • FGC:老年代GC次數

 

  新生代垃圾回收統計

 

  • S0C:第一個倖存區大小
  • S1C:第二個倖存區的大小
  • S0U:第一個倖存區的使用大小
  • S1U:第二個倖存區的使用大小
  • TT:對象在新生代存活的次數
  • MTT:對象在新生代存活的最大次數
  • DSS:期望的倖存區大小
  • EC:伊甸園區的大小
  • EU:伊甸園區的使用大小
  • YGC:年輕代垃圾回收次數
  • YGCT:年輕代垃圾回收消耗時間

 

  新生代內存統計

 

  • NGCMN:新生代最小容量
  • NGCMX:新生代最大容量
  • NGC:當前新生代容量
  • S0CMX:最大幸存1區大小
  • S0C:當前倖存1區大小
  • S1CMX:最大幸存2區大小
  • S1C:當前倖存2區大小
  • ECMX:最大伊甸園區大小
  • EC:當前伊甸園區大小
  • YGC:年輕代垃圾回收次數
  • FGC:老年代回收次數

 

  老年代垃圾回收統計

 

  • MC:方法區大小
  • MU:方法區使用大小
  • CCSC:壓縮類空間大小
  • CCSU:壓縮類空間使用大小
  • OC:老年代大小
  • OU:老年代使用大小
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

 

 老年代內存統計

 

  • OGCMN:老年代最小容量
  • OGCMX:老年代最大容量
  • OGC:當前老年代大小
  • OC:老年代大小
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

 

 元數據空間統計

 

  • MCMN: 最小元數據容量
  • MCMX:最大元數據容量
  • MC:當前元數據空間大小
  • CCSMN:最小壓縮類空間大小
  • CCSMX:最大壓縮類空間大小
  • CCSC:當前壓縮類空間大小
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

 

 總結垃圾回收統計

 

  • S0:倖存1區當前使用比例
  • S1:倖存2區當前使用比例
  • E:伊甸園區使用比例
  • O:老年代使用比例
  • M:元數據區使用比例
  • CCS:壓縮使用比例
  • YGC:年輕代垃圾回收次數
  • FGC:老年代垃圾回收次數
  • FGCT:老年代垃圾回收消耗時間
  • GCT:垃圾回收消耗總時間

 

 JVM編譯方法統計

 

  • Compiled:最近編譯方法的數量
  • Size:最近編譯方法的字節碼數量
  • Type:最近編譯方法的編譯類型。
  • Method:方法名標識。

  jvm的命令轉自:https://www.cnblogs.com/yjd_hycf_space/p/7755633.html

1. 在linux下,查看一個運行中的程序, 佔用了多少內存, 一般的命令有

   (1). ps aux:

 

     其中  VSZ(或VSS)列 表示,程序佔用了多少虛擬內存。

           RSS列 表示, 程序佔用了多少物理內存。

           虛擬內存可以不用考慮,它並不佔用實際物理內存。

   (2). top 命令也可以

     其中  VIRT(或VSS)列  表示,程序佔用了多少虛擬內存。 同 ps aux 中的 VSZ列

           RES列 表示, 程序佔用了多少物理內存。同 ps aux 中的RSS列

           

2.在linux下, 查看當前系統佔用了多少內存, 一般的命令是  free

其中, free就是系統還有多少內存可以使用。

但由於 linux 系統對內存使用有一個原則, 就是, 內存是寶貴的, 能使用多少就使用多少。 所以, linux會把已經調用過的包緩存起來,放在內存裏。

這樣,實際上,可以使用的內存,就可以理解爲, free+buffers+cached

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章