日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

测试并行回收报告

發布時間:2024/4/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 测试并行回收报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們再來講一下并行收集,并行收集肯定比串行收集要高的,-XX:+UseParNewGC這個我們剛才講過的,他新生代是并行的,老年代是串行的,我們用并行收集器來掩飾一下效果,我們把它copy一下-XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:PermSize=32M同樣一個道理,堆的初始值和最大值是一致的,我用的是并行收集器,運行一遍

這個時候運行的時候你們看一下,同樣道理,GC收集是0次,是不是這樣的,這個時候我們就可以得一個結論出來,GC他的回收是0次,這就跟你講一下,你們運行的時候不要在聚合報告菜單頁面運行,要在HTTP請求菜單界面運行,不然會影響到我們的測試報告的,看一下并行回收,他到底會有什么效果,你們覺得并行吞吐量大概會是多少呢,運行你們就知道了

看看多少,5136,我說過第一次會受到圖形界面的影響,你們不要以這個為主,我們再把它清掉一下

再運行一次,看一下效果,6544次,是不是變高了,第一次它會受到圖形界面的影響,這個我再把它清空一遍

6724次,我再清空,我再運行一遍

6686次,我們取最高值好吧,我再來運行一遍

運行看看效果,6706次,那我們取最高值,因為我們的項目比較簡單,GC回收是0次,但是吞吐量在6800,我們可以再去演示一下CMS收集器

CMS收集器也是并集收集器,剛才開始講那么多時間,主要是講堆的初始值是非常重要的一個知識點,我們現在講的都是堆的初始值和堆的最大值完全是一致的,保持一致的情況下和串行的最高,去做對比的,你們可以自己下去演示一下,如果想看效果的話你可以那我的代碼自己去測試一下,我們演示一下CMS收集器,我把這個改一下之后,我們再來看一下效果-XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32M

CMS收集器,然后我再運行一遍,你們可以看到垃圾回收的時候是0次,這個時候我清空掉,你們再看一下效果,我跟你講一下,我記得是7000多的,可能這個效果不好演示

我再運行一遍,因為我最高是達到一萬多的,我現在比較的是收集器,主要是這個效果不太好演示,你們下去搞個對象,讓別人去回收,這個不算完全特別準,但是我來表達什么意思,這個時候我們把G1演示一下-XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:PermSize=32M

G1里面會有一個日志記錄的,我來測一下G1里面效率有多高啊,我來看一下效果有多高,第一次都是5000多,第二次才會到6000多

有的人說把他改成32M,我把這個改小點,我來問一下你們,我如果把這個改小的情況下,我來問一下你們,你們覺得會不會發生GC日志的回收,會不會,你們猜一下,這個會不會,會不會發生GC回收,我們來運行一遍,你們看一下,會不會發生GC回收-XX:+PrintGCDetails -Xmx512M -Xms32M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:PermSize=32M

這邊我講一下,這邊是不一樣的,有沒有GC日志的回收,我們不用G1,我們用CMS-XX:+PrintGCDetails -Xmx512M -Xms32M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32M

我們用到的是CMS,我現在用的是CMS,你們看一下發生幾次了,你們自己說,是不是還是6次,我剛剛怎么講的,垃圾回收次數是和什么有關系,你們說一下,什么有關系,跟什么有關系,是不是還是6次,跟堆的初始值有關系,你們下去可以自己去創建對象,我這里演示的可能不是完全準,因為真正的測試是在linux下做測試的,而不是在window做測試的,這要是我們給你們講的,為什么啊,很少服務器是用windows的,所以給你們講一下,下去的時候真想看測試報告的話,你們下去搞一個Linux服務器,在linux服務器上做一個測試的,會看到非常非常詳細的,這是我要給你們說的一個點,而且你想一下,真正做測試的時候,你電腦上不可能有很多軟件的,真正做壓力測試的時候,是非常嚴格的,只能有服務器,不能有其他東西的,這樣才能最準,因為有的時候你在運行的時候,正好有其他的程序占內存所影響了,所以有的時候不準了,記住啊,你們下去做一個G1和CMS,那個效率高,你們下去可以做一個測試,比如new一個對象出來,看到底是什么效果,這個都是可以的,我在這邊就不細說了,那我們講一下,今天把JVM調優的基本知識大體的講一下,-XX:+HeapDumpOnOutOfMemoryError這個是打印堆溢出信息的,如果你不寫這個的話,GC就不會打印溢出的信息,有的人說我想改成32M,把最大值改成32M-XX:+PrintGCDetails -Xmx32M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32M

我問一下你們,我們能不能這么做,初始值為64M,然后最大值為32M,這個可不可以,這肯定不可以的-XX:+PrintGCDetails -Xmx32M -Xms64M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32M

絕對不行的,是不是報錯了

最大內存32M,申請的時候就申請不過來,這里改一下,改成32-XX:+PrintGCDetails -Xmx32M -Xms32M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32M

你們看一下,同樣也是有6次,我們再來運行一遍,看下效果好不好,把它運行一遍

4960,首先我們肯定能知道的是什么呢,你如果堆的初始值比較小的情況下,吞吐量還是比較小的,但是你們可以對比一下,這個誤差可能不是很大,你們看一下,在最開始的時候,我們讓他數據相同的時候是多少次,5141次,小不了多少,這個可能是工具的原因,我再來運行一遍

6613次,也是回收兩次,是不是和我們剛才一樣,但是你發現沒有,這邊是6000多次,之前的時候是沒有到這么高的,這個你們自己下去摸索一下,我就不細講了 并行回收(UseParNewGC) -XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:PermSize=32M GC回收0次 吞吐量6800CMS收集器 -XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:PermSize=32MG1回收方式 -XX:+PrintGCDetails -Xmx512M -Xms512M -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:PermSize=32M調優總結 初始堆值和最大堆內存內存越大,吞吐量就越高。 最好使用并行收集器,因為并行收集器速度比串行吞吐量高,速度快。 設置堆內存新生代的比例和老年代的比例最好為1:2或者1:3。 減少GC對老年代的回收。

?

總結

以上是生活随笔為你收集整理的测试并行回收报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。