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

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

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

    隨筆-72  評論-20  文章-0  trackbacks-1
    做性能調優首先需要了解系統的現象,一個應用如果出現性能問題,大部分應用都會在操作系統層面表現出問題,比如CPU使用過度, 程序中鎖使用過于頻繁, 內存泄露等等, 這些都可用Solaris的基本命令看出來, 基本上在性能調優過程, 我們需要通過Solaris 10的一些常用命令比如mpstat, vmstat, iostat等等確定問題所在, 然后再用dtrace進行深入調查.

    比方說, 如果是CPU方面使用有問題, 我們通過mpstat, prstat來看. 下面是一個例子, 只是一個范例而已:

    # mpstat 2
    CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
    0 117 0 1583 883 111 1487 593 150 6104 64 11108 7 92 0 1
    1 106 0 557 842 0 1804 694 150 6553 84 10684 6 93 0 1
    2 112 0 664 901 0 1998 795 143 6622 64 11227 6 93 0 1
    3 95 0 770 1035 0 2232 978 131 6549 59 11769 7 92 0 1


    可以看到cpu使用在系統態層面大概平均93%, 用戶層大概6%左右, 1%左右是閑置的,而sys call調用是大量而且頻繁的, 良好的系統應用應該是大部分的時間花在用戶層面, 而少部分時間使用在系統調用層面.

    我們使用dtrace往下追蹤是什么應用導致這么多的sys call:

    # dtrace -n 'syscall:::entry { @[execname] = count(); }'
    dtrace: description 'syscall:::entry ' matched 229 probes
    ^C

    inetd 1
    svc.configd 1
    fmd 2
    snmpdx 2
    utmpd 2

    inetd 1
    svc.configd 1
    fmd 2
    snmpdx 2
    utmpd 2
    svc.startd 13
    sendmail 30
    snmpd 36
    nscd 105
    dtrace 1311
    filebench 3739725


    知道了是filebench應用導致了這么多的sys call, 但我們不知道是哪一個具體的sys call, 依然可以通過dtrace來查找:

    # dtrace -n 'syscall:::entry /execname == "filebench"/ { @[probefunc] = count(); }'
    dtrace: description 'syscall:::entry ' matched 229 probes
    ^C

    lwp_continue 4
    lwp_create 4
    mmap 4
    schedctl 4
    setcontext 4
    lwp_sigmask 8
    nanosleep 24
    yield 554
    brk 1590
    pwrite 80795
    lwp_park 161019
    read 324159
    pread 898401
    semsys 1791717
    我們可以知道semsys sys call調用得最多, 但不知道在應用中是通過應用的哪些函數調用和怎樣調用的, 依然可以通過dtrace.

    # dtrace -n 'syscall::semsys:entry /execname == "filebench"/ { @[ustack()] = count(); }'
    dtrace: description 'syscall::semsys:entry ' matched 1 probe
    ^C
    libc.so.1`_syscall6+0x1c
    filebench`flowop_start+0x408
    libc.so.1`_lwp_start
    10793

    libc.so.1`_syscall6+0x1c
    filebench`flowop_start+0x408
    libc.so.1`_lwp_start
    10942

    libc.so.1`_syscall6+0x1c
    filebench`flowop_start+0x408
    libc.so.1`_lwp_start
    11084

    這樣我們可以知道filebench的flowop_start函數調用此semsys sys call最多,我們就可以著手去尋找這個flowop_start函數看是否有改進的方法.
    posted on 2007-07-27 22:27 前方的路 閱讀(351) 評論(0)  編輯  收藏 所屬分類: Solaris相關

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久无码精品亚洲日韩蜜臀浪潮| 在线观看免费黄网站| 久久香蕉国产线看观看亚洲片| 成年美女黄网站色大免费视频| 久久青草免费91线频观看不卡| 妇女自拍偷自拍亚洲精品| 亚洲一级毛片视频| 亚洲天堂视频在线观看| 黑人大战亚洲人精品一区| 日韩人妻无码免费视频一区二区三区| 999久久久免费精品播放| a级毛片毛片免费观看久潮| 免费看一级毛片在线观看精品视频| 亚洲AV无码一区二区三区人| 亚洲小视频在线观看| 亚洲AV无码专区国产乱码电影| 亚洲欧洲日产国码高潮αv| 日韩电影免费在线观看视频| 免费人成在线视频| 国产成人精品免费视频大全麻豆| 国产免费无码一区二区| a级毛片在线免费| 成人自慰女黄网站免费大全| 牛牛在线精品观看免费正| 精品国产_亚洲人成在线| 亚洲欧美成人一区二区三区| 亚洲无mate20pro麻豆| 亚洲成人免费网址| 久久亚洲sm情趣捆绑调教| 亚洲网站在线观看| 一区二区三区亚洲| 久久久久亚洲AV无码观看| 亚洲视频免费在线播放| 内射少妇36P亚洲区| 亚洲国产精品成人综合久久久| 亚洲欧洲日产韩国在线| 亚洲伊人久久大香线蕉结合| 在线aⅴ亚洲中文字幕| 亚洲欧洲无卡二区视頻| 国产精品亚洲色婷婷99久久精品| 亚洲变态另类一区二区三区 |