中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常用的Linux性能監測工具有哪些

發布時間:2022-02-18 09:26:15 來源:億速云 閱讀:380 作者:iii 欄目:開發技術

今天小編給大家分享一下常用的Linux性能監測工具有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

常用的Linux性能監測工具有哪些

1. uptime

$ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212

該命令可以大致的看出計算機的整體負載情況,load average后的數字分別表示計算機在1min、5min、15min內的平均負載。

2. dmesg | tail

$ dmesg | tail[1880957.563150] perl invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0[...][1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child[1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB, file-rss:0kB[2320864.954447] TCP: Possible SYN flooding on port 7001. Dropping request.  Check SNMP counters.123456

打印內核環形緩存區中的內容,可以用來查看一些錯誤;

上面的例子中,顯示進程18694 因引內存越界被kill掉以及TCP request被丟棄的錯誤。通過dmesg可以快速判斷是否有導致系統性能異常的問題。

3. vmstat 1

$ vmstat 1procs ---------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st34  0    0 200889792  73708 591828    0    0     0     5    6   10 96  1  3  0  032  0    0 200889920  73708 591860    0    0     0   592 13284 4282 98  1  1  0  032  0    0 200890112  73708 591860    0    0     0     0 9501 2154 99  1  0  0  032  0    0 200889568  73712 591856    0    0     0    48 11900 2459 99  0  0  0  032  0    0 200890208  73712 591860    0    0     0     0 15898 4840 98  1  1  0  0^C123456789

打印進程、內存、交換分區、IO和CPU等的統計信息;

vmstat的格式如下

> vmstat [options] [delay [count]]

vmstat第一次輸出表示從開機到vmstat運行時的平均值;剩余輸出的都是在指定的時間間隔內的平均值,上述例子中delay的值設置為1,除第一次以外,剩余的都是1秒統計一次,count未設置,將會一直循環打印。

$ vmstat 10 3procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 1  0      0 2527112 1086888 13720228    0    0     1    14    2    1  1  1 99  0  0 0  0      0 2527156 1086888 13719856    0    0     0   104 3003 4901  0  0 99  0  0 0  0      0 2526412 1086888 13719904    0    0     0    10 3345 4870  0  1 99  0  0123456

上述的例子中delay設置為10,count設置為3,表示每行打印10秒內的平均值,只打印3次。

需要檢查的列

r:表示正在運行或者等待CPU調度的進程數。因為該列數據不包含I/O的統計信息,因此可以用來檢測CPU是否飽和。若r列中的數字大于CPU的核數,表示CPU已經處于飽和狀態。

free:當前剩余的內存;

si, so:交換分區換入和換出的個數,若換入換出個數大于0,表示內存不足;

us, sy, id, wa:CPU的統計信息,分別表示user time、system time(kernel)、idle、wait I/O。I/O處理所用的時間包含在system time中,因此若system time超過20%,則I/O可能存在瓶頸或異常;

4. mpstat -P ALL 1

$ mpstat -P ALLLinux 3.10.0-229.el7.x86_64 (localhost.localdomain)     05/30/2018  _x86_64_    (16 CPU)04:03:55 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle04:03:55 PM  all    3.67    0.00    0.61    0.71    0.00    0.00    0.00    0.00    0.00   95.0204:03:55 PM    0    3.52    0.00    0.57    0.76    0.00    0.00    0.00    0.00    0.00   95.1504:03:55 PM    1    3.83    0.00    0.61    0.71    0.00    0.00    0.00    0.00    0.00   94.8504:03:55 PM    2    3.80    0.00    0.61    0.60    0.00    0.00    0.00    0.00    0.00   94.9904:03:55 PM    3    3.68    0.00    0.58    0.60    0.00    0.00    0.00    0.00    0.00   95.1304:03:55 PM    4    3.54    0.00    0.57    0.60    0.00    0.00    0.00    0.00    0.00   95.30[...]1234567891011

該命令用于每秒打印一次每個CPU的統計信息,可用于查看CPU的調度是否均勻。

5. pidstat 1

$ pidstat 1Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015    _x86_64_    (32 CPU)07:41:02 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command07:41:03 PM     0         9    0.00    0.94    0.00    0.94     1  rcuos/007:41:03 PM     0      4214    5.66    5.66    0.00   11.32    15  mesos-slave07:41:03 PM     0      4354    0.94    0.94    0.00    1.89     8  java07:41:03 PM     0      6521 1596.23    1.89    0.00 1598.11    27  java07:41:03 PM     0      6564 1571.70    7.55    0.00 1579.25    28  java07:41:03 PM 60004     60154    0.94    4.72    0.00    5.66     9  pidstat07:41:03 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command07:41:04 PM     0      4214    6.00    2.00    0.00    8.00    15  mesos-slave07:41:04 PM     0      6521 1590.00    1.00    0.00 1591.00    27  java07:41:04 PM     0      6564 1573.00   10.00    0.00 1583.00    28  java07:41:04 PM   108      6718    1.00    0.00    0.00    1.00     0  snmp-pass07:41:04 PM 60004     60154    1.00    4.00    0.00    5.00     9  pidstat^C123456789101112131415161718

該命令用于打印各個進程對CPU的占用情況,類似top命令中顯示的內容。pidstat的優勢在于,可以滾動的打印進程運行情況,而不像top那樣會清屏。

上述例子中,%CPU中兩個java進程的cpu利用率分別達到了1590%和1573%,表示java進程占用了16顆CPU。

6. iostat -xz 1

類似vmstat,第一次輸出的是從系統開機到統計這段時間的采樣數據;

$ iostat -xz 1Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015  _x86_64_ (32 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle          73.96    0.00    3.73    0.03    0.06   22.21Device:   rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %utilxvda        0.00     0.23    0.21    0.18     4.52     2.08    34.37     0.00    9.98   13.80    5.42   2.44   0.09xvdb        0.01     0.00    1.02    8.94   127.97   598.53   145.79     0.00    0.43    1.78    0.28   0.25   0.25xvdc        0.01     0.00    1.02    8.86   127.79   595.94   146.50     0.00    0.45    1.82    0.30   0.27   0.26dm-0        0.00     0.00    0.69    2.32    10.47    31.69    28.01     0.01    3.23    0.71    3.98   0.13   0.04dm-1        0.00     0.00    0.00    0.94     0.01     3.78     8.00     0.33  345.84    0.04  346.81   0.01   0.00dm-2        0.00     0.00    0.09    0.07     1.35     0.36    22.50     0.00    2.55    0.23    5.62   1.78   0.03[...]^C123456789101112131415

檢查列

r/s, w/s, rkB/s, wkB/s,表示每秒向I/O設備發出的reads、writes、read Kbytes、write Kbytes的數量。

await,表示應用程序排隊等待和被服務的平均I/O時間,該值若大于預期的時間,這表示I/O設備處于飽和狀態或者異常。

avgqu-sz,表示請求被發送給I/O設備的平均時間,若該值大于1,則表示I/O設備可能已經飽和;

%util,每秒設備的利用率;若該利用率超過60%,則表示設備出現性能異常;

7. free -m

$ free -m             total       used       free     shared    buffers     cachedMem:        245998      24545     221453         83         59        541-/+ buffers/cache:      23944     222053Swap:            0          0          012345

檢查的列:

buffers: For the buffer cache, used for block device I/O.

cached: For the page cache, used by file systems.

若buffers和cached接近0,說明I/O的使用率過高,系統存在性能問題。 Linux中會用free內存作為cache,若應用程序需要分配內存,系統能夠快速的將cache占用的內存回收,因此free的內存包含cache占用的部分。

8. sar -n DEV 1

sar是System Activity Reporter的縮寫,系統活動狀態報告。

-n  keyword [,…]  ALL ,用于報告網絡統計數據。keyword可以是以下的一個或者多個: DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 和UDP6。

-n DEV 1, 每秒統計一次網絡的使用情況; -n EDEV 1,每秒統計一次錯誤的網絡信息;

$ sar -n DEV 1Linux 3.10.0-229.el7.x86_64 (localhost.localdomain)     05/31/2018  _x86_64_    (16 CPU)03:54:57 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s03:54:58 PM     ens32   3286.00   7207.00    283.34  18333.90      0.00      0.00      0.0003:54:58 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.0003:54:58 PM vethe915e51      0.00      0.00      0.00      0.00      0.00      0.00      0.0003:54:58 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.0003:54:58 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s03:54:59 PM     ens32   3304.00   7362.00    276.89  18898.51      0.00      0.00      0.0003:54:59 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.0003:54:59 PM vethe915e51      0.00      0.00      0.00      0.00      0.00      0.00      0.0003:54:59 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00^C123456789101112131415
IFACE ,網絡接口名稱;

rxpck/s ,每秒接收到包數;

txpck/s ,每秒傳輸的報數;(transmit packages)

rxkB/s ,每秒接收的千字節數;

txkB/s ,每秒發送的千字節數;

rxcmp/s ,每秒接收的壓縮包的數量;

txcmp/s ,每秒發送的壓縮包的數量;

rxmcst/s,每秒接收的組數據包數量;

9. sar -n TCP,ETCP 1

該命令可以用于粗略的判斷網絡的吞吐量,如發起的網絡連接數量和接收的網絡連接數量;

TCP, 報告關于TCPv4網絡流量的統計信息;

ETCP, 報告有關TCPv4網絡錯誤的統計信息;

$ sar -n TCP,ETCP 1Linux 3.10.0-514.26.2.el7.x86_64 (aushop)   05/31/2018  _x86_64_    (2 CPU)04:16:27 PM  active/s passive/s    iseg/s    oseg/s04:16:44 PM      0.00      2.00     15.00     13.0004:16:45 PM      0.00      3.00    126.00    203.0004:16:46 PM      0.00      0.00     99.00     99.0004:16:47 PM      0.00      0.00     18.00      9.0004:16:48 PM      0.00      0.00      5.00      6.0004:16:49 PM      0.00      0.00      1.00      1.0004:16:50 PM      0.00      1.00      4.00      4.0004:16:51 PM      0.00      3.00    171.00    243.00^C12345678910111213

檢測的列:

active/s: Number of locally-initiated TCP connections per second (e.g., via connect()),發起的網絡連接數量;

passive/s: Number of remotely-initiated TCP connections per second (e.g., via accept()),接收的網絡連接數量;

retrans/s: Number of TCP retransmits per second,重傳的數量;

10. top

top命令包含更多的指標統計,相當于一個綜合命令。

$ toptop - 00:15:40 up 21:56,  1 user,  load average: 31.09, 29.87, 29.92Tasks: 871 total,   1 running, 868 sleeping,   0 stopped,   2 zombie%Cpu(s): 96.8 us,  0.4 sy,  0.0 ni,  2.7 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem:  25190241+total, 24921688 used, 22698073+free,    60448 buffersKiB Swap:        0 total,        0 used,        0 free.   554208 cached Mem   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND 20248 root      20   0  0.227t 0.012t  18748 S  3090  5.2  29812:58 java  4213 root      20   0 2722544  64640  44232 S  23.5  0.0 233:35.37 mesos-slave 66128 titancl+  20   0   24344   2332   1172 R   1.0  0.0   0:00.07 top  5235 root      20   0 38.227g 547004  49996 S   0.7  0.2   2:02.74 java  4299 root      20   0 20.015g 2.682g  16836 S   0.3  1.1  33:14.42 java     1 root      20   0   33620   2920   1496 S   0.0  0.0   0:03.82 init     2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd     3 root      20   0       0      0      0 S   0.0  0.0   0:05.35 ksoftirqd/0     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H     6 root      20   0       0      0      0 S   0.0  0.0   0:06.94 kworker/u256:0     8 root      20   0       0      0      0 S   0.0  0.0   2:38.05 rcu_sched12345678910111213141516171819

11. 總結

下面的圖片很好的展示了各個命令的主要作用,如使用vmstat查看系統的整體性能,mpstat用于查看cpu的性能,pidstat用于查看進程的狀態,iostat用于查看io的狀態,free用于產看內存的狀態,sar用于產看網絡的狀態等。 常用的Linux性能監測工具有哪些 image.png

Linux常用性能工具一覽

常用的Linux性能監測工具有哪些

以上就是“常用的Linux性能監測工具有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邳州市| 黑水县| 澳门| 北海市| 丹东市| 宜宾市| 集安市| 大庆市| 德格县| 扬中市| 陈巴尔虎旗| 双江| 丹江口市| 双流县| 新乐市| 济南市| 吉林省| 宁城县| 偃师市| 汤阴县| 彭水| 汝州市| 元朗区| 仙居县| 海阳市| 三原县| 永新县| 亳州市| 汶川县| 凤庆县| 济阳县| 万山特区| 屯昌县| 盘锦市| 屏东市| 离岛区| 连州市| 湖北省| 石阡县| 进贤县| 罗城|