• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 79  文章 - 58  trackbacks - 0
            <2016年1月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(9)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊(cè)

            搜索

            •  

            積分與排名

            • 積分 - 296016
            • 排名 - 87

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            如果CPU的使用率突然暴漲,如何迅速定位是哪個(gè)進(jìn)程、哪段代碼引起的呢?我們需要一個(gè)profiling工具,對(duì)CPU上執(zhí)行的代碼進(jìn)行采樣、統(tǒng)計(jì),告訴我們CPU到底在忙些什么。

            perf 就是這樣的工具。我們舉個(gè)例子看看 perf 是怎樣工作的。

            首先我們用以下命令模擬出CPU利用率暴漲的現(xiàn)象:

            1
            $ cat /dev/zero > /dev/null

            然后我們看到 CPU 1 的 %system 飆升到95%:

            1
            2
            3
            4
            5
            6
            # sar -P ALL -u 2 2
             
            08:21:16 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
            08:21:18 PM     all      2.25      0.00     48.25      0.00      0.00     49.50
            08:21:18 PM       0      0.50      0.00      1.00      0.00      0.00     98.51
            08:21:18 PM       1      4.02      0.00     95.98      0.00      0.00      0.00

            現(xiàn)在我們用 perf 工具采樣:

            1
            2
            3
            # perf record -a -e cycles -o cycle.perf -g sleep 10
            [ perf record: Woken up 18 times to write data ]
            [ perf record: Captured and wrote 4.953 MB cycle.perf (~216405 samples) ]

            注:”-a”表示對(duì)所有CPU采樣,如果只需針對(duì)特定的CPU,可以使用”-C”選項(xiàng)。

            把采樣的數(shù)據(jù)生成報(bào)告:

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            # perf report -i cycle.perf | more
             
            ...
            # Samples: 40K of event 'cycles'
            # Event count (approx.): 18491174032
            #
            # Overhead          Command                   Shared Object              Symbol
            # ........  ...............  ..............................    ................
            #
                75.65%              cat  [kernel.kallsyms]                 [k] __clear_user                    
                                    |
                                    --- __clear_user
                                       |          
                                       |--99.56%-- read_zero
                                       |          vfs_read
                                       |          sys_read
                                       |          system_call_fastpath
                                       |          __GI___libc_read
                                        --0.44%-- [...]
             
                 2.34%              cat  [kernel.kallsyms]                 [k] system_call                      
                                    |
                                    --- system_call
                                       |          
                                       |--56.72%-- __write_nocancel
                                       |          
                                        --43.28%-- __GI___libc_read
            ...

            我們很清楚地看到,CPU利用率有75%來自 cat 進(jìn)程 的 sys_read 系統(tǒng)調(diào)用,perf 甚至精確地告訴了我們是消耗在 read_zero 這個(gè) kernel routine 上。
            轉(zhuǎn)自:http://linuxperf.com/?p=36


            posted on 2016-01-29 10:45 merlinfang 閱讀(1061) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            伊人色综合久久| 久久久久久国产精品无码超碰| 久久本道伊人久久| 国产激情久久久久影院老熟女| Xx性欧美肥妇精品久久久久久 | 日本久久中文字幕| 人妻无码精品久久亚瑟影视| 97精品伊人久久大香线蕉| 少妇久久久久久被弄高潮| 久久久久久免费一区二区三区| 久久久久久青草大香综合精品| 亚洲中文字幕无码久久综合网| 国内精品久久久久久久97牛牛 | 国产色综合久久无码有码| 韩国免费A级毛片久久| 久久久久99精品成人片三人毛片| 国产激情久久久久久熟女老人| 国产情侣久久久久aⅴ免费| 久久精品成人欧美大片| 久久丫精品国产亚洲av不卡| 久久99精品国产99久久6| 久久丫忘忧草产品| 国产日韩欧美久久| 精品永久久福利一区二区| 日韩va亚洲va欧美va久久| 久久久综合九色合综国产| 久久精品国产久精国产果冻传媒 | 亚洲国产精品无码久久久蜜芽| 欧美亚洲另类久久综合| 久久精品国产99久久久古代| 久久93精品国产91久久综合| 久久综合给久久狠狠97色| 久久笫一福利免费导航| 国产精品综合久久第一页| 99久久精品午夜一区二区| 一本色道久久88—综合亚洲精品| 久久e热在这里只有国产中文精品99| 久久国产色AV免费看| 久久国产免费直播| 亚洲精品成人网久久久久久| 国产精品成人99久久久久 |