原创 性能監控(1)--linux下的top命令

Linux下的監控工具 top命令 top命令能夠實時顯示系統中各個進程的資源佔用情況,其輸出信息分爲兩部分,前半部分爲系統統計信息,後半部分是進程信息。 第一行是任務隊列信息,它的結果等同於uptime命令。 第二行是進程統計信息

原创 性能監控(4)–linux下的pidstat命令

pidstat是一個可以監控到線程的監控工具,可以使用-p指定進程ID. pidstat–p <PID> [delay] [times] –u –t 可以監控線程的CPU使用率 當某一個線程使用率過高時,可以使用命令jstack–l

原创 性能監控(3)&ndash;linux下的iostat命令

iostat可以顯示cpu與磁盤信息,添加-d參數可以只顯示磁盤信息

原创 瞭解java虛擬機&mdash;在TALB上分配對象(10)

由於對象一般會分配在堆上,而堆是全局共享的。因此在同一時間,可能有多個線程在堆上申請空間。每次對象分內都必須要進行同步,因此TLAB這種線程專屬的區域來避免多線程衝突。TLAB本身佔用了eden區的空間。分配優先級:

原创 性能監控(6)&ndash;JAVA下的jinfo命令

jinfo可以用來查看正在運行的java應用程序的擴展參數,設置支持在運行時,修改部分參數。Jinfo的語法爲:Usage: jinfo [option] <pid> (to connect to running process) j

原创 性能監控(5)&ndash;JAVA下的jstat命令

jstat的基本語法爲Usage: jstat -help|-options jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]] 選項option可以由以下值構成-

原创 性能監控(2)&ndash;linux下的vmstat命令

vmstat它可以統計CPU、內存使用情況、swap使用情況等信息。它還可以指定採樣週期和次數。

原创 瞭解java虛擬機&mdash;G1回收器(9)

G1(Garbage-First)回收器是在JDK1.7中正式使用的全新垃圾回收器,G1擁有獨特的垃圾回收策略,從分代上看,G1依然屬於分代垃圾回收器,它會區分年代和老年代,依然有eden和survivor區,但從堆的結構上看,它並不要求整

原创 瞭解java虛擬機&mdash;並行回收器(7)

並行回收器新生代ParNew回收器ParNew只是簡單地將串行回收器多線程化,他的回收策略,算法以及參數都喝新生代串行回收器一樣。由於並行回收器使用多線程進行垃圾回收,因此,在併發能力強的CPU上,它產生的停頓時間要短語串行回收器。開啓Pa

原创 瞭解java虛擬機&mdash;CMS回收器(8)

  CMS(Concurrent Mark Sweep)回收器它使用的是標記清除算法,同時又是一個使用多線程並行回收的垃圾回收器。 CMS主要工作步驟CMS工作時主要步驟有初始標記、併發標記、預清理、重新標記、併發清除和併發重置。其中初始標

原创 瞭解java虛擬機&mdash;串行回收器(6)

串行回收器串行回收器只有一個工作線程,串行回收器可以在新生代和老年代使用,根據作用於不同的堆和空間,分爲新生代串行回收器和老年代串行回收器。1.新生代串行回收器串行收集器是所有垃圾回收器中最古老的一種,也是JDK中最基本的垃圾回收器之一。串

原创 瞭解java虛擬機&mdash;堆相關參數設置(3)

堆相關配置-Xmx最大堆空間-Xms初始堆空間大小,如果初始堆空間耗盡,JVM會對堆空間擴容,其擴展上限爲最大堆空間。通常-Xms與-Xmx設置爲同樣大小,避免擴容造成性能損耗。-Xmn設置新生代大小,設置一個較大的新生代會減少老年代的大小

原创 瞭解java虛擬機&mdash;JVM相關參數設置(2)

1.   JVM相關參數設置JVM相關配置-XX:+PrintGC兩次次YoungGC,兩次FullGC。-XX:+PrintGCDetails打印GC時的內存,並且在程序結束時打印堆內存使用情況-XX:+PrintHeapAtGC每次GC

原创 瞭解java虛擬機---JVM的基本結構(1)

1. JVM的基本結構1.1. 類加載子系統類加載子系統負責從文件或者網絡中加載Class信息,加載的類信息存放於方法區的內存空間。方法區中可能還會存放運行時常量信息,包括字符串與數字常量。(這部分常量信息是Class文件中常量池部分的內存

原创 瞭解java虛擬機&mdash;垃圾回收算法(5)

引用計數器法(Reference Counting)引用計數器的實現很簡單,對於一個對象A,只要有任何一個對象引用了A,則A的引用計數器就加1,當引用失效時,引用計數器減1。只要對象A的引用計數器的值爲0,則對象A不可能再被使用。存在的問題