<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)化

    主站蜘蛛池模板: 亚洲欧美aⅴ在线资源| 亚洲第一中文字幕| 亚洲精品国产综合久久久久紧| 99久久精品国产免费| 久久综合图区亚洲综合图区| 日本一区午夜艳熟免费| 亚洲午夜无码久久久久| 成人性生交大片免费看好| 亚洲国产精品嫩草影院在线观看 | 色综合久久精品亚洲国产| 大学生高清一级毛片免费| 亚洲第一成年免费网站| 日本一道综合久久aⅴ免费| 国产成人不卡亚洲精品91| 亚洲国产综合精品中文字幕| fc2成年免费共享视频网站| 国产亚洲精久久久久久无码AV| 三年片免费高清版 | 伊人久久大香线蕉亚洲五月天 | 无码人妻一区二区三区免费看| 亚洲av福利无码无一区二区 | 亚洲中文字幕无码永久在线| 国产精品视频白浆免费视频| 亚洲综合一区二区| 日韩高清免费在线观看| 深夜久久AAAAA级毛片免费看| 中文字幕在线亚洲精品| 777爽死你无码免费看一二区| 亚洲乱码在线卡一卡二卡新区| 免费在线观看亚洲| 免费污视频在线观看| 亚洲av专区无码观看精品天堂| 免费在线观看黄色毛片| 男人进去女人爽免费视频国产| 亚洲国产成人久久精品app| 国产成人精品123区免费视频| 黄视频在线观看免费| 亚洲伊人久久大香线蕉| 亚洲成a人片在线观看国产| 午夜免费福利小电影| 国产成人高清亚洲一区91|