站長資訊網
        最全最豐富的資訊網站

        Linux 查看 cpu, mem, disk 和 network 信息

        對于一個 Linux 服務器來說,cpu 的主頻以及占用率,內存的大小以及占用率,磁盤 I/O 速率和網卡 I/O 速率極大地影響著服務器的性能。在 Linux 系統下,開發者提供了/proc 文件系統來提供系統相關的進程信息

        1.查看 cpu 主頻和占用率

        Linux 下 CPU 的主頻有兩種獲取方式,一種是通過讀取 /proc/cpuinfo 文件,另外一種是利用 CPU 主頻的計算原理編寫程序獲取。此處只介紹前一種方式。即使用命令 cat /proc/cpuinfo 。從下方圖片可以看到,本人的電腦是雙核 CPU,主頻都為 2.60GHz。

          Lance# cat /proc/cpuinfo  processor       : 0  vendor_id       : GenuineIntel  cpu family      : 6  model           : 23  model name      : Pentium(R) Dual-Core  CPU      E5300  @ 2.60GHz  stepping        : 10  microcode       : 0xa0b  cpu MHz         : 1200.000  cache size      : 2048 KB  physical id     : 0  siblings        : 2  core id         : 0  cpu cores       : 2  apicid          : 0  initial apicid  : 0  fpu             : yes  fpu_exception   : yes  cpuid level     : 13  wp              : yes  flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm  bugs            : cpu_meltdown spectre_v1 spectre_v2  bogomips        : 5186.86  clflush size    : 64  cache_alignment : 64  address sizes   : 36 bits physical, 48 bits virtual  power management:    processor       : 1  vendor_id       : GenuineIntel  cpu family      : 6  model           : 23  model name      : Pentium(R) Dual-Core  CPU      E5300  @ 2.60GHz  stepping        : 10  microcode       : 0xa0b  cpu MHz         : 1200.000  cache size      : 2048 KB  physical id     : 0  siblings        : 2  core id         : 1  cpu cores       : 2  apicid          : 1  initial apicid  : 1  fpu             : yes  fpu_exception   : yes  cpuid level     : 13  wp              : yes  flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm  bugs            : cpu_meltdown spectre_v1 spectre_v2  bogomips        : 5186.86  clflush size    : 64  cache_alignment : 64  address sizes   : 36 bits physical, 48 bits virtual  power management:  

        Linux 下 CPU 的使用狀態可分為用戶態、系統態以及空閑態。CPU 占用率可以用如下公式計算

        CPU占用率 = CPU執行非系統空閑進程時間/CPU執行總時間

        /proc/stat 文件對 CPU 的使用情況進行了實時的記錄,如下圖所示:

          Lance# cat /proc/stat  cpu  525228 16439 390034 139932703 224352 0 2010 0 0 0  cpu0 265224 6822 197250 70017169 60063 0 74 0 0 0  cpu1 260004 9617 192784 69915534 164289 0 1936 0 0 0  intr 126884204 43 2 0 0 0 0 0 1 0 3 0 0 4 0 0 0 124 0 2 1404563 0 0 0 0 955106 514 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  ctxt 193899569  btime 1536131324  processes 268172  procs_running 1  procs_blocked 0  softirq 101783843 10 36600014 116255 1002291 1058479 0 263 35993177 0 27013354

        其中首行的 10 個參數含義如下:

        user nice system idle iowait irq softirq steal guest guest_nice
        user:用戶態的CPU時間
        nice:低優先級程序所占用的用戶態的cpu時間。
        system:系統態的CPU時間
        idle:CPU空閑的時間
        iowait:等待IO響應的時間
        irq:處理硬件中斷的時間
        softirq:處理軟中斷的時間
        steal: 處理其他所花的時間
        guest:運行時間為客戶操作系統下的虛擬CPU控制
        guest_nice:訪客的低優先級程序所占用的用戶態的cpu時間

        余下的參數中:

        intr:第一個參數表示的是自系統啟動以來,發生的所有中斷的次數;其他的數對應一個特定中斷發生的次數

        ctxt: cpu自系統啟動以來發生的上下文交換次數

        btime: 系統啟動到現在的時間 UTC 秒

        processes: 表示系統啟動以來創建的進程個數

        procs_running: 當前運行進程的個數

        procs_blocked: 當前被阻塞的進程個數

        softirq: 顯示軟中斷情況

        要計算 CPU 在某段時間內的占用率,可以分別記錄下 t1 和 t2 時刻的 CPU 總的狀態和空閑狀態,因此:

        CPU占用率 = 1 – ( idle2 – idle1 ) / (total2 – total1)

        其中 total 表示 10 個參數之和。

        2. 查看內存大小及占用率

        /proc/meminfo 記錄了內存信息。

          Lance# cat /proc/meminfo  MemTotal:        4003752 kB  MemFree:          517464 kB  MemAvailable:    3144816 kB  Buffers:          257152 kB  Cached:          2289308 kB  SwapCached:            0 kB  Active:          1455916 kB  Inactive:        1487740 kB  Active(anon):     277376 kB  Inactive(anon):   174624 kB  Active(file):    1178540 kB  Inactive(file):  1313116 kB  Unevictable:           0 kB  Mlocked:               0 kB  SwapTotal:       6253564 kB  SwapFree:        6253564 kB  Dirty:                 8 kB  Writeback:             0 kB  AnonPages:        395168 kB  Mapped:           207872 kB  Shmem:             54808 kB  Slab:             460364 kB  SReclaimable:     425200 kB  SUnreclaim:        35164 kB  KernelStack:        5376 kB  PageTables:        22064 kB  NFS_Unstable:          0 kB  Bounce:                0 kB  WritebackTmp:          0 kB  CommitLimit:     8255440 kB  Committed_AS:    2553704 kB  VmallocTotal:   34359738367 kB  VmallocUsed:           0 kB  VmallocChunk:          0 kB  HardwareCorrupted:     0 kB  AnonHugePages:      2048 kB  ShmemHugePages:        0 kB  ShmemPmdMapped:        0 kB  CmaTotal:              0 kB  CmaFree:               0 kB  HugePages_Total:       0  HugePages_Free:        0  HugePages_Rsvd:        0  HugePages_Surp:        0  Hugepagesize:       2048 kB  DirectMap4k:      113216 kB  DirectMap2M:     4044800 kB

        其中:

        MemTotal:表示系統可支配內存

        MemAvailable:表示應用程序可用的內存

        因此,內存占用率可以用如下公式計算:

        Linux 查看 cpu, mem, disk 和 network 信息

        3.查看磁盤 I/O占用率

        安裝 sysstat 工具,它的子工具 iostat 可以顯示 I/O 占用率。%util 參數表示 1s內用于 I/O 請求所用時間的比例,%util 值越高,I/O 占用率越高,可直接使用這個參數來代表 I/O 占用率

          Lance# iostat -x  Linux 4.13.0-32-generic (Lance)         2018年09月13日  _x86_64_        (2 CPU)    avg-cpu:  %user   %nice %system %iowait  %steal   %idle             0.37    0.01    0.28    0.16    0.00   99.17    Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util  loop0            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00   21.41    0.00   0.00     2.44     0.00  20.89   0.00  loop1            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00   44.62    0.00   0.00     1.69     0.00  11.38   0.00  loop2            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00   19.93    0.00   0.00     9.65     0.00  12.31   0.00  loop3            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00   41.81    0.00   0.00    14.23     0.00  18.88   0.00  loop4            0.01    0.00      0.01      0.00     0.00     0.00   0.00   0.00    6.61    0.00   0.00     1.12     0.00   0.50   0.00  loop5            0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    0.00    0.00   0.00     1.60     0.00   0.00   0.00  sda              0.24    0.52      3.45     14.18     0.17     0.56  41.05  51.90    3.56   31.99   0.02    14.40    27.51   4.51   0.34

        4. 查看網絡帶寬使用率

        /proc/net/dev 文件中記錄了網絡相關的使用情況,其中分別記錄了發送和接收的數據包總數、收發的錯誤包數以及收發的丟失包數等。取單位時間內發送和接 收 的 數 據 包 總 包 數 (totalPackets ), 除 以 網 絡 的 基 本 帶 寬 ( bandWidth ),
        pnet = 100%*totalPackets/bandWidth

          Lance# cat /proc/net/dev  Inter-|   Receive                                                |  Transmit   face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed      lo: 2729345   46942    0    0    0     0          0         0  2729345   46942    0    0    0     0       0          0  enp2s0: 558026941  723202    0 11733    0     0          0    105753 23827630  275738    0    0    0     0       0          0

        bytes: 接口發送或接收的總字節數

        packets: 接口發送或接收的總數據包數

        errs: 有設備驅動程序檢測到的發送或者接收錯誤的總數

        drop: 設備驅動程序丟棄的數據包總數

        fifo: FIFO 緩沖區錯誤的數量

        frame: 分組幀錯誤的數量

        colls: 接口上檢測到的沖突數

        compressed: 設備驅動程序發送或接收的壓縮數據包數

        carrier: 由設備驅動程序檢測到的載波損耗的數量

        multicast: 設備驅動程序發送或接收的多播幀數

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美精品久久久久久久自慰 | 亚洲国产精品久久电影欧美| 久久99国产精品久久| 亚洲日韩精品无码专区网址 | 国产精品久久国产精品99盘| 人妻少妇精品视频一区二区三区| 久久精品亚洲男人的天堂| 久久精品免费观看| 97久久国产亚洲精品超碰热 | 亚洲Av无码精品色午夜| 老年人精品视频在线| AAA级久久久精品无码区| 国产精品爽黄69天堂a| 久久精品国产第一区二区三区 | 东京热TOKYO综合久久精品| 亚洲精品无码成人AAA片| 欧美XXXX黑人又粗又长精品| 国产情侣大量精品视频| 国产精品成| 国产精品无打码在线播放| 影音先锋国产精品国语对白| 久久久久免费精品国产| 精品亚洲综合在线第一区| 精品午夜久久福利大片| 久久精品9988| 亚洲一区精品中文字幕| 亚洲国产精品国自产拍电影| 久久91综合国产91久久精品| 500av大全导航精品| 国产成人精品日本亚洲网站| 国产精品内射后入合集| 92国产精品午夜福利| 国产精品福利一区二区| 精品国产福利久久久| 亚洲愉拍自拍欧美精品| 国产成人精品怡红院在线观看| 国产成人精品午夜福麻豆| 精品视频一区二区三区四区五区| 精品无人区无码乱码大片国产| 精品露脸国产偷人在视频 | 亚洲人午夜射精精品日韩|