<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    用ab命令來對 JVM進行內(nèi)存分析的一個例子

    1、JVM的啟動參數(shù)
    我是這樣設(shè)置的:
      java -Xmx1024m -Xms1024m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m

    啟動tomcat之后,使用 jmap -heap `pgrep -u root java`,得到如下信息:

    Heap Configuration:
       MinHeapFreeRatio = 40
       MaxHeapFreeRatio = 70
       MaxHeapSize      = 1073741824 (1024.0MB)
       NewSize          = 1048576 (1.0MB)
       MaxNewSize       = 4294901760 (4095.9375MB)
       OldSize          = 4194304 (4.0MB)
       NewRatio         = 4
       SurvivorRatio    = 4
       PermSize         = 12582912 (12.0MB)
       MaxPermSize      = 16777216 (16.0MB)
    Heap Usage:
    New Generation (Eden + 1 Survivor Space):
       capacity = 178913280 (170.625MB)
       used     = 51533904 (49.14656066894531MB)
       free     = 127379376 (121.47843933105469MB)
       28.80384508070055% used
    Eden Space:
       capacity = 143130624 (136.5MB)
       used     = 51533904 (49.14656066894531MB)
       free     = 91596720 (87.35343933105469MB)
       36.00480635087569% used
    From Space:
       capacity = 35782656 (34.125MB)
       used     = 0 (0.0MB)
       free     = 35782656 (34.125MB)
       0.0% used
    To Space:
       capacity = 35782656 (34.125MB)
       used     = 0 (0.0MB)
       free     = 35782656 (34.125MB)
       0.0% used
    tenured generation:
       capacity = 859045888 (819.25MB)
       used     = 1952984 (1.8625106811523438MB)
       free     = 857092904 (817.3874893188477MB)
       0.22734338494383202% used
    Perm Generation:
       capacity = 12582912 (12.0MB)
       used     = 6656024 (6.347679138183594MB)
       free     = 5926888 (5.652320861816406MB)
       52.897326151529946% used

    ------------------------------------------華麗的分割線---------------------------------------

    按照這個參數(shù)來計算的話(可以參考這里:http://blog.sina.com.cn/s/blog_68158ebf0100wp83.html
    -Xmx1024m -Xms1024m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m
    -Xmx1024m 最大堆內(nèi)存為 1024M
    -Xms1024m 初始堆內(nèi)存為 1024M
    -XX:NewRatio=4 

    則 年輕代:年老代=1:4  1024M/5=204.8M
    故 年輕代=204.8M  年老代=819.2M
    -XX:SurvivorRatio=4
    則年輕代中 2Survivor:1Eden=2:4 204.8M/6=34.13333333333333M
    故 Eden=136.5333333333333M  1Suivivor=34.13333333333333M
    用 jmap -heap <pid>
    查看的結(jié)果 與我們計算的結(jié)果一致

    -----------------------------------華麗的分割線-------------------------------------------

    3、編寫測試頁面
        在網(wǎng)站根目錄里新建頁面perf.jsp,內(nèi)容如下:
    <%intsize = (int)(1024 * 1024 * m);byte[] buffer = new byte[size];Thread.sleep(s);%>
    注:m值用來設(shè)置每次申請內(nèi)存的大小,s 表示睡眠多少ms

    4、使用jstat來監(jiān)控內(nèi)存變化
    ·jstat命令的用法和介紹,參考這里http://blog.sina.com.cn/s/blog_68158ebf0100woyh.html
    這里使用 jstat -gcutil `pgrep -u root java` 1500 10 
       再解釋一下,這里有三個參數(shù):
    ·pgrep -u root java --> 得到j(luò)ava的進程ID號
    ·1500 --> 表示每隔1500ms取一次數(shù)據(jù)
    ·10 --> 表示一共取10次數(shù)據(jù)

    5、用ab來進行壓測
    壓測的命令:[root@CentOS ~]# ab -c150 -n50000 "http://localhost/perf.jsp?m=1&s=10"
    注:這里使用150個線程并發(fā)訪問,一共訪問50000次。
        另外我做了apache與tomcat的整合,過程見:http://blog.sina.com.cn/s/blog_68158ebf0100wnvx.html
    默認情況下你可以使用 http://localhost:8080/perf.jsp?m=1&s=10 來訪問。

    --------------------------------------------華麗的分割線----------------------------------------

    下面開始進行實驗:
    ·先啟動Java內(nèi)存的監(jiān)聽:
        [root@CentOS ~]# jstat -gcutil 8570 1500 10 
    ·在開啟一個終端,開始壓測:
        [root@CentOS ~]# ab -c150 -n50000 "http://localhost/perf.jsp?m=1&s=10"
    兩個命令結(jié)束之后的結(jié)果如下:

    jstat:
    [root@CentOS ~]# jstat -gcutil 8570 1500 10 
      S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
      0.06   0.00  53.15   2.03  67.18     52    0.830     1    0.218    1.048
      0.00   0.04  18.46   2.03  67.18     55    0.833     1    0.218    1.052
      0.03   0.00  28.94   2.03  67.18     56    0.835     1    0.218    1.053
      0.00   0.04  34.02   2.03  67.18     57    0.836     1    0.218    1.054
      0.04   0.00  34.13   2.03  67.18     58    0.837     1    0.218    1.055
      0.00   0.04  38.62   2.03  67.18     59    0.838     1    0.218    1.056
      0.04   0.00   8.39   2.03  67.18     60    0.839     1    0.218    1.058
      0.04   0.00   8.39   2.03  67.18     60    0.839     1    0.218    1.058
      0.04   0.00   8.39   2.03  67.18     60    0.839     1    0.218    1.058
      0.04   0.00   8.39   2.03  67.18     60    0.839     1    0.218    1.058

    結(jié)果簡單解析:
        可以看到JVM里S0和S1始終有一個是空的,Eden區(qū)達到一定比例之后就會產(chǎn)生Minor GC,由于我這里的Old Generation 區(qū)設(shè)置的比較大,所以沒有產(chǎn)生Full GC。

    ab
    [root@CentOS ~]# ab -c150 -n50000 "http://localhost/perf.jsp?m=1&s=10"
    This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Copyright 2006 The Apache Software Foundation, http://www.apache.org/
    Benchmarking localhost (be patient)
    Completed 5000 requests
    Completed 10000 requests
    Completed 15000 requests
    Completed 20000 requests
    Completed 25000 requests
    Completed 30000 requests
    Completed 35000 requests
    Completed 40000 requests
    Completed 45000 requests
    Finished 50000 requests
    Server Software:        Apache/2.2.3
    Server Hostname:        localhost
    Server Port:            80
    Document Path:          /perf.jsp?m=1&s=10
    Document Length:        979 bytes
    Concurrency Level:      150
    Time taken for tests:   13.467648 seconds
    Complete requests:      50000
    Failed requests:        0
    Write errors:           0
    Non-2xx responses:      50005
    Total transferred:      57605760 bytes
    HTML transferred:       48954895 bytes
    Requests per second:    3712.60 [#/sec] (mean)
    Time per request:       40.403 [ms] (mean)   #平均請求時間
    Time per request:       0.269 [ms] (mean, across all concurrent requests) 
    Transfer rate:          4177.05 [Kbytes/sec] received
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0    1  46.5      0    3701
    Processing:    10   38  70.3     36    6885
    Waiting:        3   35  70.3     33    6883
    Total:         10   39  84.4     37    6901
    Percentage of the requests served within a certain time (ms)
      50%     37
      66%     38
      75%     39
      80%     39
      90%     41
      95%     43
      98%     50
      99%     58
     100%   6901 (longest request)

    詳細的分析見:http://blog.sina.com.cn/s/blog_68158ebf0100woyp.html

    posted on 2012-09-26 22:46 paulwong 閱讀(558) 評論(0)  編輯  收藏 所屬分類: 性能優(yōu)化

    主站蜘蛛池模板: 国产亚洲精品美女2020久久| 国产又黄又爽又刺激的免费网址| 国产人成亚洲第一网站在线播放| 国产v亚洲v天堂无码网站| 久久乐国产精品亚洲综合| 中文字幕不卡亚洲| 亚洲乱码国产一区三区| 亚洲成AV人片在| 亚洲国产成人久久精品影视| 亚洲视频网站在线观看| 亚洲卡一卡2卡三卡4麻豆| 亚洲伊人久久综合影院| 在线免费观看一级毛片| 又大又硬又爽又粗又快的视频免费| 猫咪免费人成在线网站| 日韩大片免费观看视频播放| 一区视频免费观看| 免费播放在线日本感人片| 久久精品无码专区免费青青| 国产成人高清精品免费观看| 亚洲日本一线产区和二线产区对比| 亚洲AV无码片一区二区三区| 国产亚洲精品成人久久网站| 亚洲国产免费综合| 国产精品亚洲专区无码WEB| 亚洲大香人伊一本线| 亚洲国产成人久久精品大牛影视 | 国产美女精品久久久久久久免费| 免费jjzz在线播放国产 | 野花高清在线观看免费完整版中文| 国外成人免费高清激情视频| 黄色免费网站网址| 精品一区二区三区免费毛片爱 | 一级毛片视频免费观看| 亚洲av日韩综合一区久热| 亚洲男人的天堂久久精品| 另类专区另类专区亚洲| 久久狠狠躁免费观看2020| 最近的中文字幕大全免费版| 91成年人免费视频| 亚洲成年看片在线观看|