對eclipse啟動進行JVM優化紀實(2)

2021-08-31 12:15:55 字數 2104 閱讀 1555

接著昨天的幹,首先看看昨天的日誌,兩次都是minoj gc,舊生代和持久代都沒有可用gc,研究的重點就是這兩次gc,從日誌的最後heap資訊來看

heap

def new generation   total 157248k, used 19646k [0x04b00000, 0x0f5a0000, 0x0f5a0000)

eden space 139776k,   9% used [0x04b00000, 0x05788208, 0x0d380000)

from space 17472k,  38% used [0x0d380000, 0x0da27790, 0x0e490000)

to   space 17472k,   0% used [0x0e490000, 0x0e490000, 0x0f5a0000)

tenured generation   total 349568k, used 19156k [0x0f5a0000, 0x24b00000, 0x24b00000)

the space 349568k,   5% used [0x0f5a0000, 0x108553c8, 0x10855400, 0x24b00000)

compacting perm gen  total 65536k, used 40825k [0x24b00000, 0x28b00000, 0x2ab00000)

the space 65536k,  62% used [0x24b00000, 0x272de638, 0x272de800, 0x28b00000)

no shared spaces configured.

舊生代的的使用率為5%,而新生代的的使用率特別是from這一塊已經是38%,我推測是物件由於eden晉公升到from導致哦那關鍵不足的時候導致的gc(我還沒有找到監控eden和from,to的記憶體變化的方法,jconsole的話是可以看到,但是前提是要先讓程式啟動找到pid,,這樣一來又來不急開jconsole,很麻煩,所以暫時放棄),看看新生代的空間為154m,先將其設定為200m,即增加引數

-xmn256m

,果然有效果,看看日誌

gc3.log

4.367: [gc 4.368: [defnew: 209792k->21157k(235968k), 0.0987968 secs] 209792k->21157k(498112k), 0.0989220 secs] [times: user=0.08 sys=0.01, real=0.10 secs]

heap

def new generation   total 235968k, used 115536k [0x10010000, 0x20010000, 0x20010000)

eden space 209792k,  44% used [0x10010000, 0x15c3ac40, 0x1ccf0000)

from space 26176k,  80% used [0x1e680000, 0x1fb296e8, 0x20010000)

to   space 26176k,   0% used [0x1ccf0000, 0x1ccf0000, 0x1e680000)

tenured generation   total 262144k, used 0k [0x20010000, 0x30010000, 0x30010000)

the space 262144k,   0% used [0x20010000, 0x20010000, 0x20010200, 0x30010000)

compacting perm gen  total 65536k, used 40839k [0x30010000, 0x34010000, 0x36010000)

the space 65536k,  62% used [0x30010000, 0x327f1fa0, 0x327f2000, 0x34010000)

no shared spaces configured.

這次只有一次gc,新生代的使用率得到了提高,舊生代貌似沒有被使用,效果不錯,但是這次的調優對啟動速度的影響沒有昨天那麼明顯。

接下來需要優化的是看看eclipse在持續執行過程中的gc情況並加以優化,這樣需要開啟一些專案,看eclipse在初始化專案的時候會做什麼樣的gc,今天要回家,估計結果一時半出不來,等結果出來了我再整理一下發出來。

JVM調優 對eclipse啟動調優紀實(2)

heap def new generation total 157248k,used 19646k 0x04b00000,0x0f5a0000,0x0f5a0000 eden space 139776k,9 used 0x04b00000,0x05788208,0x0d380000 from spa...

使用Eclipse對FFMpeg進行除錯

在研究 的過程中,除錯執行是一種非常有效的方法。我們常用的visual studio建立的工程可以很方便地對程式進行除錯執行。但是對於ffmpeg這樣的工程,想要進行單步除錯就沒這麼容易了。如果一定要除錯執行ffmpeg,最好按照我們之前博文的描述編譯完成之後,放在eclipse中進行除錯執行。在開...

使用Eclipse對FFmpeg進行除錯

在研究 的過程中,除錯執行是一種非常有效的方法。我們常用的visual studio建立的工程可以很方便地對程式進行除錯執行。但是對於ffmpeg這樣的工程,想要進行單步除錯就沒這麼容易了。如果一定要除錯執行ffmpeg,最好按照我們之前博文的描述編譯完成之後,放在eclipse中進行除錯執行。在開...