【No.2】監控Linux性能25個命令行工具

接着上一篇博文繼續 【No.1】監控Linux性能25個命令行工具php

10:mpstat -- 顯示每一個CPU的佔用狀況

該命令能夠顯示每一個CPU的佔用狀況,若是有一個CPU佔用率特別高,那麼有多是一個單線程應用程序引發的
html

mpstat -P ALL 1
Linux 3.13.0-75-generic (lnmp) 	06/25/2016 	_x86_64_	(2 CPU)

02:28:59 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
02:29:00 PM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
02:29:00 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
02:29:00 PM    1    0.00    0.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   99.00


11:pidstat -- 查看進程的CPU佔用率

該命令輸出進程的CPU佔用率,該命令會持續輸出,而且不會覆蓋以前的數據,能夠方便觀察系統動態前端

$ pidstat 1
Linux 3.13.0-75-generic (lnmp) 	06/25/2016 	_x86_64_	(2 CPU)

02:30:20 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
02:30:21 PM     0         9    0.00    0.98    0.00    0.98     1  rcuos/1

02:30:21 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
02:30:22 PM     0       977    1.00    0.00    0.00    1.00     1  redis-server

02:30:22 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
02:30:23 PM  1000     19938    0.00    1.00    0.00    1.00     1  sshd
02:30:23 PM  1000     20909    0.00    1.00    0.00    1.00     0  sshd


12:free -- 查看系統內存的使用狀況

free命令能夠查看系統內存的使用狀況,-m參數表示按照兆字節展現。最後兩列分別表示用於IO緩存的內存數,和用於文件系統頁緩存的內存數。須要注意的是,第二行-/+ buffers/cache,看上去緩存佔用了大量內存空間。這是Linux系統的內存使用策略,儘量的利用內存,若是應用程序須要內存,這部份內存會當即被回收並分配給應用程序。所以,這部份內存通常也被當成是可用內存。linux


若是可用內存很是少,系統可能會動用交換區(若是配置了的話),這樣會增長IO開銷(能夠在iostat命令中提現),下降系統性能。ios

$ free -m
             total       used       free     shared    buffers     cached
Mem:           363        313         50          0          3        104
-/+ buffers/cache:        204        159
Swap:          767        155        612


13:sar -- 查看網絡設備的吞吐率

sar命令在這裏能夠查看網絡設備的吞吐率。在排查性能問題時,能夠經過網絡設備的吞吐量,判斷網絡設備是否已經飽和。web

sar -n DEV 1
Linux 3.13.0-75-generic (lnmp) 	06/25/2016 	_x86_64_	(2 CPU) 
02:33:01 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:33:02 PM      eth0     15.84     15.84      0.93      1.69      0.00      0.00      0.00      0.00
02:33:02 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:33:02 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00


查看TCP鏈接狀態redis

$ sar -n TCP,ETCP 1
Linux 3.13.0-75-generic (lnmp) 	06/25/2016 	_x86_64_	(2 CPU)

02:35:21 PM  active/s passive/s    iseg/s    oseg/s
02:35:22 PM      0.00      0.00      8.00      8.00

active/s:每秒本地發起的TCP鏈接數,既經過connect調用建立的TCP鏈接小程序

passive/s:每秒遠程發起的TCP鏈接數,即經過accept調用建立的TCP鏈接緩存

retrans/s:每秒TCP重傳數量安全


14:NetHogs-監視每一個進程使用的網絡帶寬

NetHogs是一個開放源源代碼的很小程序(與Linux下的top命令很類似),它密切監視着系統上每一個進程的網絡活動。同時還追蹤着每一個程序或者應用所使用的實時網絡帶寬

$ sudo apt-get install nethogs
$ sudo nethogs

nethogs.jpg


15:iftop-監視網絡帶寬

iftop是另外一個在控制檯運行的開放源代碼系統監控應用,它顯示了系統上經過網絡接口的應用網絡帶寬使用(源主機或者目的主機)的列表,這個列表按期更新。iftop用於監視網絡的使用狀況,而'top'用於監視CPU的使用狀況。iftop是'top'工具系列中的一員,它用於監視所選接口,並顯示兩個主機間當前網絡帶寬的使用狀況

$ sudo apt-get install iftop
$ sudo iftop

iftop.jpg



工具列表

  • IPTraf

  • psacct 或者 acct

  • Monit

  • Monitorix

  • Arpwatch

  • Suricata

  • VnStat PHP

  • Nagios 

  • Zabbix


1:IPTraf-實時局域網IP監控

IPTraf是一個在Linux控制檯運行的、開放源代碼的實時網絡(局域網)監控應用。它採集了大量信息,好比經過網絡的IP流量監控,包括TCP標記、ICMP詳細信息、TCP/UDP流量分離、TCP鏈接包和字節數。同時還採集有關接口狀態的常見信息和詳細信息:TCP、UDP、IP、ICMP、非IP,IP校驗和錯誤,接口活動等。

有關IPTraf工具用法以及其餘更多信息,請訪問: IPTraf網絡監控工具


2: psacct 或者 acct - 監視用戶活動

psacct或者acct工具用於監視系統裏每一個用戶的活動情況。這兩個服務進程運行在後臺,它們對系統上運行的每一個用戶的全部活動進行近距離監視,同時還監視這些活動所使用的資源狀況。

系統管理員可使用這兩個工具跟蹤每一個用戶的活動,好比用戶正在作什麼,他們提交了那些命令,他們使用了多少資源,他們在系統上持續了多長時間等等。

有關這些命令的安裝和用法舉例信息,請參閱文章:使用psacct或者acct監視用戶活動


3:Monit - Linux進程和服務監控工具

Monit是一個免費的開源軟件,也是一個基於網絡的進程監控工具。它能自動監控和管理系統進程,程序,文件,文件夾,權限,總和驗證碼和文件系統。

這個軟件能監控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH這樣的服務。你能夠經過命令行或者這個軟件提供的網絡藉口來查看系統狀態。

更多內容請參閱:用Monit監控Linux進程


4:Monitorix-系統和網絡監控

Monitorix 是一個免費的輕量級應用工具,它的設計初衷是運行和監控Linux/Unix服務器系統和資源等。它有一個HTTP 網絡服務器,這個服務器有規律的收集系統和網絡的信息並以圖形化的形式展現出來。它監控系統的平均負載和使用,內存分配、磁盤健康情況、系統服務、網絡端口、郵件統計(Sendmail,Postfix,Dovecot等),MySQL統計,等等。它就是用來監控系統的整體性能,幫助發現失誤、瓶頸和異常活動的

Monitorix.jpg


5:Arpwatch – 以太網活動監視器

Arpwatch被設計用來監控Linux上的以太網地址解析 (MAC和IP地址的變化)。他在一段時間內持續監控以太網活動並輸出IP和MAC地址配對變更的日誌。它還能夠向管理員發送郵件通知,對地址配對的增改發出警告。這對於檢測網絡上的ARP攻擊頗有用。 

更多信息請參閱 : Arpwatch to Monitor Ethernet Activity


6:Suricata – 網絡安全監控


Suricata 是一個開源的高性能網絡安全、入侵檢測和反監測工具,能夠運行Linux、FreeBSD和Windows上。非營利組織OISF (Open Information Security Foundation)開發並擁有其版權。

更多信息請參閱 : Suricata – A Network Intrusion Detection and Prevention System


7:VnStat PHP – 網絡流量監控

VnStat PHP 是流行網絡工具"vnstat"的基於web的前端呈現。VnStat PHP 將網絡使用狀況呈如今漂亮的圖形界面中。他能夠顯示以小時、日、月計的上傳和下載流量並輸出總結報告。

更多信息請參閱 : VnStat PHP – Monitoring Network Bandwidth


8:Nagios – 網絡/服務器監控

Nagios是領先而強大的開源監控系統,他可讓網絡/系統管理員在問題影響到正常的業務以前發現並解決它們。有了Nagios系統,管理員能夠在單個窗口內遠程檢測Linux、Windows、開關、路由器和打印機。它能夠危險警告並指出系統/服務器是否有異常,這能夠間接幫助你在問題發生以前採起搶救措施。


9:Zabbix 同Nagios



原文地址: 【No.2】監控Linux性能25個命令行工具
標籤: CPU    負載    load    linux    性能    監控   

智能推薦

相關文章
相關標籤/搜索