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

溫馨提示×

溫馨提示×

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

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

Linux一體化性能監測工具collectl怎么用

發布時間:2021-11-02 16:30:29 來源:億速云 閱讀:136 作者:柒染 欄目:系統運維

Linux一體化性能監測工具collectl怎么用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

對Linux系統管理員來說,最重要的任務莫過于確保他或她管理的系統處于非常良好的情況。Linux系統管理員可以使用好多工具,幫助監測和顯示系統里面的進程,比如top和htop,但這些工具沒有一個比得上collectl。

Linux一體化性能監測工具collectl怎么用

collectl:Linux性能監測工具

collectl是一款非常棒的、功能豐富的命令實用工具,它可以用來收集描述系統當前狀況的性能數據。不像大多數其他的監測工具,collectl并不著眼于數量有限的系統衡量指標,而是可以收集關于許多不同類型的系統資源的信息,比如處理器、磁盤、內存、網絡、套接字、TCP、索引節點、Infiniband、Lustre、NFS、進程、quadric、slab和伙伴系統信息等資源。

使用collectl的一個非常好的方面是,它還能扮演像top、ps和iotop另外許多這些只針對某個特定用途設計的實用工具的角色。那么,哪些功能特性讓colleclt成為一款實用工具呢?

我在進行了大量的研究后,整理出了一份清單,為大家列出了collectl命令行實用工具的一些最重要的功能特性。

collectl的功能特性

?它能夠以交互式運行、作為守護程序運行,或者兩者兼而有之。

?它能夠顯示采用多種格式的輸出結果。

?它能夠監測幾乎任何一個子系統。

?它能扮演像ps、top、iotop或vmstat這些另外許多實用工具的角色。

?它能夠記錄并回放捕獲的數據。

?它能夠以眾多文件格式導出數據。(如果你想借助外部工具來分析數據,這項功能就非常有用)。

?它能夠作為一項服務來運行,以監測遠程機器或整個服務器集群。

?它能夠在終端中顯示數據,并將數據寫入到文件或套接字。

如何在Linux中安裝collectl?

collectl實用工具可以在所有Linux發行版上運行,它只需要perl就能運行,所以確保你在機器中安裝collectl之前已在機器中安裝了Perl。

在Debian/Ubuntu/Linux Mint上

下面這個命令可用于將collectl實用工具安裝在基于Debian的機器上,比如Ubuntu。

$ sudo apt-get install collectl

在RHEL/CentOS/Fedora上

如果你使用基于紅帽的發行版,很容易借助yum命令,從軟件庫獲取它。

# yum install collectl

collectl實用工具的一些實際例子

一旦collectl工具安裝完畢,你很容易從終端來運行它,甚至不帶任何選項。下面這個命令將以一種非常簡短而易于閱讀的格式,顯示關于處理器、磁盤和網絡統計數字等的信息。

# collectl  waiting for 1 second sample...  #  #cpu  sys  inter  ctxsw KBRead  Reads KBWrit  Writes   KBIn  PktIn  KBOut  PktOut     13   5   790   1322      0      0     92      7      4     13      0       5     10   2   719   1186      0      0      0      0      3      9      0       4     12   0   753   1188      0      0     52      3      2      5      0       6     13   2   733   1063      0      0      0      0      1      1      0       1     25   2   834   1375      0      0      0      0      1      1      0       1     28   2   870   1424      0      0     36      7      1      1      0       1     19   3   949   2271      0      0     44      3      1      1      0       1     17   2   809   1384      0      0      0      0      1      6      0       6     16   2   732   1348      0      0      0      0      1      1      0       1     22   4   993   1615      0      0     56      3      1      2      0       3

大家可以從終端屏幕中顯示的上述輸出結果中看到,處理命令輸出中的系統衡量標準值非常容易,因為它就顯示在單單一行上。

collectl實用工具不帶任何選項執行后,它顯示了關于下列子系統的信息:

?處理器

?磁盤

?網絡

注意:在我們這個例子中,子系統是指可以測量的每一種系統資源。

你還可以顯示除slab之外的所有子系統的統計數字,只要結合該命令和–all選項,如下所示。

# collectl --all  waiting for 1 second sample...  #  #cpu sys inter  ctxsw Cpu0 Cpu1 Free Buff Cach Inac Slab  Map   Fragments KBRead  Reads KBWrit Writes   KBIn  PktIn  KBOut  PktOut   IP  Tcp  Udp Icmp  Tcp  Udp  Raw Frag Handle Inodes  Reads Writes Meta Comm     16   3   817   1542  430  390   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0     24      3      1      1      0       1    0    0    0    0  623    0    0    0   8160 240829      0      0    0    0     11   1   745   1324  316  426   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0      0      0      0      3      0       2    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0     15   2   793   1683  371  424   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0      0      0      1      1      0       1    0    0    0    0  622    0    0    0   8160 240829      0      0    0    0     16   2   872   1875  427  446   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0     24      3      1      1      0       1    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0     24   2   842   1383  473  368   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0    168      6      1      1      0       1    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0     27   3   844   1099  478  365   1G 175M   1G 683M 193M   1G nsslkjjebbk      0      0      0      0      1      6      1       9    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0     26   5   823   1238  396  428   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0      0      0      2     11      3       9    0    0    0    0  622    0    0    0   8160 240828      0      0    0    0     15   1   753   1276  361  391   1G 175M   1G 683M 193M   1G ssslkjjebbk      0      0     40      3      1      2      0       3    0    0    0    0  623    0    0    0   8160 240829      0      0    0    0

但是,你如何借助該實用工具監測處理器的使用情況?“-s”選項可用于控制收集或回放哪些子系統數據。

比如說,下面這個命令可用于監測處理器使用情況的摘要。

# collectl -sc  waiting for 1 second sample...  #  #cpu  sys inter  ctxsw     15   2   749   1155     16   3   772   1445     14   2   793   1247     27   4   887   1292     24   1   796   1258     16   1   743   1113     15   1   743   1179     14   1   706   1078     15   1   764   1268

如果你結合命令和“scdn”,會出現什么情況?想學習如何使用命令行工具,***的辦法就是盡可能實際運用一下,所以在你的終端中運行下面這個命令,看看會出現什么情況。

# collectl -scdn  waiting for 1 second sample...  #  #cpu  sys  inter  ctxsw KBRead  Reads KBWrit  Writes   KBIn  PktIn  KBOut  PktOut     25   4   943   3333      0      0      0      0      1      1      0       2     27   3   825   2910      0      0      0      0      1      1      0       1     27   5   886   2531      0      0      0      0      0      0      0       1     20   4   872   2406      0      0      0      0      1      1      0       1     26   1   854   2091      0      0     20      2      1      1      0       1     39   4  1004   3398      0      0      0      0      2      8      3       6     41   6   955   2464      0      0     40      3      1      2      0       3     25   7   890   1609      0      0      0      0      1      1      0       1     16   2   814   1165      0      0    796     43      2      2      0       2     14   1   779   1383      0      0     48      6      1      1      0       1     11   2   795   1285      0      0      0      0      2     14      1      14

你很容易明白:默認選項是“cdn”,它代表處理器、磁盤和網絡數據。命令的結果與“collectl -scn”的輸出結果一樣。

如果你想收集關于內存的數據,使用下面這個命令。

# collectl -sm  waiting for 1 second sample...  #  #Free  Buff  Cach Inac  Slab   Map      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G      1G 177M   1G 684M 193M   1G

如果你想獲得關于內存使用情況、閑置內存以及對系統性能而言很重要的其他方面的一些詳細信息,上述輸出結果非常有用。

想獲得關于tcp的一些數據?使用下面這個命令即可實現。

# collectl -st  waiting for 1 second sample...  #  #  IP  Tcp  Udp Icmp       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0       0    0    0    0   0    0    0    0

你有了一定的經驗后,就很容易結合諸多選項,獲得所需要的結果。比如說,你可以結合代表tcp的“t”和代表處理器的“c”。下面這個命令就實現了這項功能。

# collectl -stc  waiting for 1 second sample...  #  #cpu  sys  inter   ctxsw   IP  Tcp  Udp Icmp     23   8   961   3136    0    0    0    0     24   5   916   3662    0    0    0    0     21   8   848   2408    0    0    0    0     30  10   916   2674    0    0    0    0     38   3   826   1752    0    0    0    0     31   3   820   1408    0    0    0    0     15   5   781   1335    0    0    0    0     17   3   802   1314    0    0    0    0     17   3   755   1218    0    0    0    0     14   2   788   1321    0    0    0    0

我們人類很難記住所有的可用選項,于是我列出了該工具支持的子系統摘要列表。

?b – 伙伴系統信息(內存片段)

?c – 處理器

?d – 磁盤

?f – NFS V3數據

?i – 索引節點和文件系統

?j – 中斷

?l – Lustre

?m – 內存

?n – 網絡

?s – 套接字

?t – TCP

?x – 互連

?y – slabs(系統對象緩存)

對Linux用戶的系統管理員來說,一個非常重要的數據就是磁盤使用情況方面所收集的數據。下面這個命令將幫助你監測磁盤的使用情況。

# collectl -sd  waiting for 1 second sample...  #  #KBRead  Reads KBWrit Writes         0      0      0      0         0      0      0      0         0      0     92      7         0      0      0      0         0      0     36      3         0      0      0      0         0      0      0      0         0      0    100      7         0      0      0      0

你還可以使用“-sD”選項,收集關于單個磁盤的數據,但是你要知道關于全部磁盤的數據不會報告。

# collectl -sD  waiting for 1 second sample...  # DISK STATISTICS (/sec)  #           Pct  #Name       KBytes Merged  IOs Size  Kbytes  Merged  IOs  Size  RWSize  QLen  Wait SvcTim Util  sda              0      0    0    0      52     11    2   26      26     1     8      8    1  sda              0      0    0    0       0      0    0    0       0     0     0      0    0  sda              0      0    0    0      24      0    2   12      12     0     0      0    0  sda              0      0    0    0     152      0    4   38      38     0     0      0    0  sda              0      0    0    0     192     45    3   64      64     1    20     20    5  sda              0      0    0    0     204      0    2  102     102     0     0      0    0  sda              0      0    0    0       0      0    0    0       0     0     0      0    0  sda              0      0    0    0     116     26    3   39      38     1    16     16    4  sda              0      0    0    0       0      0    0    0       0     0     0      0    0  sda              0      0    0    0       0      0    0    0       0     0     0      0    0  sda              0      0    0    0      32      5    3   11      10     1    16     16    4  sda              0      0    0    0       0      0    0    0       0     0     0      0    0

你還可以使用其他的具體子系統來收集詳細數據。下面列出了各個具體子系統。

?C – 處理器

?D – 磁盤

?E – 環境數據(風扇、電源和溫度),通過ipmitool

?F – NFS數據

?J – 中斷

?L – Lustre OST的細節,或者客戶端文件系統的細節

?N – 網絡

?T – 只有plot格式才有的65個TCP計數器

?X – 互連

?Y – Slabs(系統對象緩存)

?Z – 進程

collectl實用工具有許多可用選項,而僅僅一篇文章沒有足夠的時間和篇幅來逐一細述。不過,有必要了解如何將該實用工具作為top和ps來使用。

很容易讓collectl作為top實用工具來使用,只要在你的終端中運行下面這個命令,你會看到top工具在Linux系統中執行時提供的類似輸出結果。

# collectl --top  # TOP PROCESSES sorted by time (counters are /sec) 13:11:02  # PID  User     PR  PPID THRD S   VSZ   RSS CP  SysT  UsrT Pct  AccuTime  RKB  WKB MajF MinF Command  ^COuch!tecmint  20     1   40 R    1G  626M  0  0.01  0.14  15  28:48.24    0    0    0  109 /usr/lib/firefox/firefox    3403  tecmint  20     1   40 R    1G  626M  1  0.00  0.20  20  28:48.44    0    0    0  600 /usr/lib/firefox/firefox    5851  tecmint  20  4666    0 R   17M   13M  0  0.02  0.06   8  00:01.28    0    0    0    0 /usr/bin/perl    1682  root     20  1666    2 R  211M   55M  1  0.02  0.01   3  03:10.24    0    0    0   95 /usr/bin/X    3454  tecmint  20  3403    8 S  216M   45M  1  0.01  0.02   3  01:23.32    0    0    0    0 /usr/lib/firefox/plugin-container    4658  tecmint  20  4657    3 S  207M   17M  1  0.00  0.02   2  00:08.23    0    0    0  142 gnome-terminal    2890  tecmint  20  2571    3 S  340M   68M  0  0.00  0.01   1  01:19.95    0    0    0    0 compiz    3521  tecmint  20     1   24 S  710M  148M  1  0.01  0.00   1  01:47.84    0    0    0    0 skype       1  root     20     0    0 S    3M    2M  0  0.00  0.00   0  00:02.57    0    0    0    0 /sbin/init       2  root     20     0    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kthreadd       3  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.60    0    0    0    0 ksoftirqd/0       5  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/0:0H       7  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/u:0H       8  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:04.42    0    0    0    0 migration/0       9  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 rcu_bh      10  root     20     2    0 R     0     0  0  0.00  0.00   0  00:02.22    0    0    0    0 rcu_sched      11  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:00.05    0    0    0    0 watchdog/0      12  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:00.07    0    0    0    0 watchdog/1      13  root     20     2    0 S     0     0  1  0.00  0.00   0  00:00.73    0    0    0    0 ksoftirqd/1      14  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:01.96    0    0    0    0 migration/1      16  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kworker/1:0H      17  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 cpuset

現在***但并非最不重要的是,想把collectl實用工具用作ps工具,在你的終端中運行下面這個命令。你會獲得關于系統中進程的信息,就跟你在終端中運行“ps”命令所得到的輸出一樣。

# collectl -c1 -sZ -i:1  waiting for 1 second sample...  ### RECORD    1 >>> tecmint-vgn-z13gn <<< (1397979716.001) (Sun Apr 20 13:11:56 2014) ###  # PROCESS SUMMARY (counters are /sec)  # PID  User     PR  PPID THRD S   VSZ   RSS CP  SysT  UsrT Pct  AccuTime  RKB  WKB MajF MinF Command      1  root     20     0    0 S    3M    2M  0  0.00  0.00   0  00:02.57    0    0    0    0 /sbin/init       2  root     20     0    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kthreadd       3  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.60    0    0    0    0 ksoftirqd/0       5  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/0:0H       7  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kworker/u:0H       8  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:04.42    0    0    0    0 migration/0       9  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 rcu_bh      10  root     20     2    0 S     0     0  0  0.00  0.00   0  00:02.24    0    0    0    0 rcu_sched      11  root     RT     2    0 S     0     0  0  0.00  0.00   0  00:00.05    0    0    0    0 watchdog/0      12  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:00.07    0    0    0    0 watchdog/1      13  root     20     2    0 S     0     0  1  0.00  0.00   0  00:00.73    0    0    0    0 ksoftirqd/1      14  root     RT     2    0 S     0     0  1  0.00  0.00   0  00:01.96    0    0    0    0 migration/1      16  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 kworker/1:0H      17  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 cpuset      18  root      0     2    0 S     0     0  1  0.00  0.00   0  00:00.00    0    0    0    0 khelper      19  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kdevtmpfs      20  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 netns      21  root     20     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 bdi-default      22  root      0     2    0 S     0     0  0  0.00  0.00   0  00:00.00    0    0    0    0 kintegrityd

我非常確信,許多Linux系統管理員會喜歡這款工具,如果最充分地使用它,就會領略其強大的功能。如果你想進一步了解collectl,可以參閱參考手冊頁,并且不斷實際運用一下。

只要在終端中鍵入下面這個命令,就可以開始閱讀參考手冊頁了。

# man collectl

看完上述內容,你們掌握Linux一體化性能監測工具collectl怎么用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

会同县| 濉溪县| 小金县| 道真| 大冶市| 蓬莱市| 汾阳市| 水富县| 通化县| 桂东县| 南华县| 凌源市| 长丰县| 冷水江市| 个旧市| 金平| 米林县| 清原| 瑞丽市| 山丹县| 清苑县| 花莲市| 高邑县| 临夏市| 溆浦县| 建始县| 德惠市| 泸溪县| 新建县| 馆陶县| 定结县| 定南县| 木里| 望城县| 永丰县| 类乌齐县| 仙居县| 葵青区| 青岛市| 永胜县| 张掖市|