qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Linux CPU實時監控命令mpstat介紹

          1,簡介
            mpstat是Multiprocessor  Statistics的縮寫,是實時系統監控工具。其報告是CPU的一些統計信息,這些信息存放在/proc/stat文件中。在多CPUs系統里,其不但能查看所有CPU的平均狀況信息,而且能夠查看特定CPU的信息。mpstat最大的特點是:可以查看多核心cpu中每個計算核心的統計數據;而類似工具vmstat只能查看系統整體cpu情況。
            2,安裝
          [root@ora10g ~]# mpstat
          -bash: mpstat: command not found
          [root@ora10g ~]# mount -o loop -t iso9660 /dev/cdrom /mnt/cdrom
          [root@ora10g ~]# cd /mnt/cdrom/Server/
          [root@ora10g Server]# rpm -ivh sysstat-7.0.2-3.el5.i386.rpm
          warning: sysstat-7.0.2-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
          Preparing...                ########################################### [100%]
          1:sysstat                ########################################### [100%]
            3,實例
            用法
            mpstat -V  顯示mpstat版本信息
            mpstat -P ALL 顯示所有CPU信息
            mpstat -P n 顯示第n個cup信息,n為數字,計數從0開始
            mpstat n m  每個n秒顯示一次cpu信息,連續顯示m次,最后顯示一個平均值
            mpstat n    每個n秒顯示一次cpu信息,連續顯示下去
            查看每個cpu核心的詳細當前運行狀況信息,輸出如下:
          [root@ora10g ~]# mpstat -P ALL
          Linux 2.6.18-194.el5 (ora10g.up.com)    11/05/14
          09:13:02     CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
          09:13:02     all    0.62    0.01    0.54    3.48    0.00    0.02    0.00   95.32   1039.58
          09:13:02       0    0.92    0.01    1.18    8.77    0.01    0.05    0.00   89.06   1030.23
          09:13:02       1    0.27    0.00    0.31    1.46    0.00    0.01    0.00   97.96      1.00
          ....
          09:13:02      14    1.12    0.02    0.45    2.99    0.00    0.01    0.00   95.39      7.74
          09:13:02      15    0.18    0.00    0.22    0.70    0.00    0.01    0.00   98.90      0.59
            查看多核CPU核心的當前運行狀況信息, 每2秒更新一次
            [root@ora10g ~]# mpstat -P ALL 2
            查看某個cpu的使用情況,數值在[0,cpu個數-1]中取值
            [root@ora10g ~]# mpstat -P 2
            Linux 2.6.18-194.el5 (ora10g.up.com)    11/05/14
            10:19:28     CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
            10:19:28       2    0.08    0.00    0.04    0.22    0.00    0.01    0.00   99.64      0.55
            查看多核CPU核心的當前運行狀況信息, 每2秒更新一次,顯示5次
            [root@ora10g ~]# mpstat -P ALL 2 5
           4,字段含義如下
            英文解釋:
            CPU:Processor number. The keyword all indicates that statistics are calculated as averages among all processors.
            %user:Show the percentage of CPU utilization that occurred while executing at the user level (application).
            %nice:Show the percentage of CPU utilization that occurred while executing at the user level with nice priority.
            %sys:Show  the  percentage  of CPU utilization that occurred while executing at the system level (kernel). Note that
            this does not include time spent servicing interrupts or softirqs.
            %iowait:Show the percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk  I/O request.
            %irq:Show the percentage of time spent by the CPU or CPUs to service interrupts.
            %soft:Show  the  percentage  of time spent by the CPU or CPUs to service softirqs.  A softirq (software interrupt) is
            one of up to 32 enumerated software interrupts which can run on multiple CPUs at once.
            %steal:Show the percentage of time spent in involuntary wait by the virtual CPU or CPUs while the hypervisor was  ser-vicing another virtual processor.
            %idle:Show  the percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
            intr/s:Show the total number of interrupts received per second by the CPU or CPUs.
            參數解釋 從/proc/stat獲得數據
            CPU 處理器 ID
            user 在internal時間段里,用戶態的CPU時間(%),不包含 nice值為負 進程 (usr/total)*100
            nice 在internal時間段里,nice值為負進程的CPU時間(%)   (nice/total)*100
            system 在internal時間段里,核心時間(%)   (system/total)*100
            iowait 在internal時間段里,硬盤IO等待時間(%) (iowait/total)*100
            irq 在internal時間段里,硬中斷時間(%)      (irq/total)*100
            soft 在internal時間段里,軟中斷時間(%)    (softirq/total)*100
            idle 在internal時間段里,CPU除去等待磁盤IO操作外的因為任何原因而空閑的時間閑置時間(%)(idle/total)*100
            intr/s 在internal時間段里,每秒CPU接收的中斷的次數intr/total)*100
            CPU總的工作時間=total_cur=user+system+nice+idle+iowait+irq+softirq
            total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq
            user=user_cur – user_pre
            total=total_cur-total_pre
            其中_cur 表示當前值,_pre表示interval時間前的值。上表中的所有值可取到兩位小數點。

          posted on 2014-11-26 15:09 順其自然EVO 閱讀(1081) 評論(0)  編輯  收藏 所屬分類: linux

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清丰县| 南澳县| 宁波市| 庆安县| 南昌县| 宁强县| 琼海市| 昌江| 天等县| 布尔津县| 壶关县| 日照市| 册亨县| 灵丘县| 甘孜| 昭通市| 石嘴山市| 惠来县| 邵武市| 南皮县| 中阳县| 华蓥市| 略阳县| 凤阳县| 五河县| 开远市| 江阴市| 内丘县| 马关县| 西林县| 巴马| 宜城市| 麟游县| 历史| 抚顺县| 东乡县| 昂仁县| 西贡区| 高阳县| 康平县| 五大连池市|