linux 检测wan命令,Linux系统监控常用命令
釋放雙眼,帶上耳機,聽聽看~!
1.free
free 命令顯示系統(tǒng)使用和空閑的內(nèi)存情況,包括物理內(nèi)存、交互區(qū)內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存。
$ free
(-buffers/cache) used 內(nèi)存數(shù):第一部分 Mem 行中的 used – buffers – cached
(+buffers/cache) free 內(nèi)存數(shù): 第一部分 Mem 行中的 free + buffers + cached
可見?-buffers/cache?反映的是被程序?qū)崒嵲谠谡紦?jù)的內(nèi)存,而?+buffers/cache?反映的是可以挪用的內(nèi)存總數(shù)。
第三部分 Swap 表示硬盤上交換空間的使用情況。
以 MB 為單位顯示內(nèi)存的使用情況
$ free -m
顯示匯總信息
$ free -t
2.ps
用于顯示當(dāng)前系統(tǒng)的進程狀態(tài)。可以搭配 kill 指令隨時中斷、刪除不必要的程序。使用該命令可以確定有哪些進程正在運行和運行的狀態(tài)、進程是否結(jié)束、進程有沒有僵死、哪些進程占用了過多的資源等等。(在第一周的進程與工作中有詳細介紹。)
3.pstree
pstree 能將當(dāng)前的執(zhí)行程序以樹狀結(jié)構(gòu)顯示,清楚地表達程序間的產(chǎn)生關(guān)系。
$ pstree
顯示當(dāng)前所有進程的進程名和進程 id
顯示所有進程的詳細信息,遇到相同的進程名可以壓縮顯示。
$ pstree -a
4.top
top 用于實時地顯示 Linux 系統(tǒng)當(dāng)前進程的運行情況,并按一定的順序顯示所有正在運行而且處于活動狀態(tài)的進程,而且會實時更新顯示結(jié)果。
$ top
顯示的詳細信息可參看第一周的 Linux 進程與工作中的詳細介紹,與其使用方法。另外也可以使用?man?來查看?top?的詳細說明:
$ man top
5.htop
htop 是一個高級的交互式的實時 Linux 進程監(jiān)控工具。 它和 top 命令十分相似,但是它具有更豐富的特性,例如:用戶可以友好地管理進程,使用快捷鍵,通過橫向和縱向的方式顯示進程等等。 htop 是一個第三方工具,所以我們需要先安裝它。
$ sudo apt-get update
$ sudo apt-get install htop
$ htop
左上角: CPU 負載(因為我們是 4 核 CPU,所以這里有 4 行),內(nèi)存消耗,交換空間的使用情況。
右上角:
第一行:總進程數(shù),線程數(shù),正在運行的進程數(shù)。
第二行:和 top 命令中的 load average 一樣,也是代表的 1,5,15 分鐘內(nèi) CPU 的平均負載。
第三行:從系統(tǒng)啟動起到當(dāng)前的運行總時間。
下方的列表代表的是當(dāng)前進程的運行情況。
底部顯示的是一些快捷鍵,可以很方便對進程進行排序,搜索,殺掉等操作。同樣可以使用?man htop?查看它的幫助文檔。
6.netstat
netstat 命令可以顯示 linux 中當(dāng)前詳細的網(wǎng)絡(luò)狀態(tài)信息,包括所有的 TCP 的連接狀態(tài)。我們在第 3 周網(wǎng)絡(luò)常用命令中有介紹。
顯示路由表
$ netstat -r
顯示所有網(wǎng)卡列表
$ netstat -i
顯示所有的 Socket 信息與連接狀態(tài)
netstat -a
顯示每個協(xié)議的統(tǒng)計信息
$ netstat -s
篩選監(jiān)控中的服務(wù)器端口
$ netstat -lunat
7.tcpdump
tcpdump 是使用最廣泛的網(wǎng)絡(luò)包分析程序之一,它用于捕捉本機指定條件下的 TCP/IP 包。(在第 3 周的網(wǎng)絡(luò)常用命令中有介紹。)
如果沒有安裝,就使用如下命令先安裝一下:
$ sudo apt-get install tcpdump
可以使用如下命令查看 tcpdump 的幫助:
$ tcpdump -h 或者 $ man tcpdump
$ sudo tcpdump
# 直接啟動 tcpdump 將監(jiān)視網(wǎng)絡(luò)接口上所有流過的數(shù)據(jù)包。
捕捉到的包信息會及時輸出至終端,在長期有流量的情況下輸出結(jié)果會刷屏,按?ctrl + c?可結(jié)束數(shù)據(jù)包的捕捉。
tcpdump 的過濾器很強大,從指定 IP、端口、協(xié)議等等來過濾,例如:
監(jiān)控指定網(wǎng)絡(luò)接口的數(shù)據(jù)包:
#抓取 eth0 網(wǎng)絡(luò)接口的包
$ sudo tcpdump -i eth0
設(shè)置只抓取 10 個數(shù)據(jù)包:
$ sudo tcpdump -c 10
監(jiān)控指定主機的數(shù)據(jù)包
先用 netstat 來看一下當(dāng)前網(wǎng)絡(luò)狀態(tài)
$ netstat -lunat
利用前面輸出中顯示的那兩個 ip 地址來實踐(注意,你自己的輸出結(jié)果和截圖的可能不相同,根據(jù)你自己的輸出結(jié)果來實驗。)
我們這里就來捕獲主機?192.168.42.6?與主機?192.168.42.2?之間的通信
$ sudo tcpdump host 192.168.42.6 and 192.168.42.2 |less
輸出結(jié)果很多,可以使用 less 通過翻頁鍵查看上下頁的內(nèi)容
還可以捕獲和實驗樓之間的通信,我們用瀏覽器打開實驗樓的地址?www.wanneng.com?,然后再運行?netstat -lunat
另外它還可以使用 or ,not(或者?!?)
#主機 192.168.42.6 或者主機 192.168.42.2 收到和發(fā)出的所有數(shù)據(jù)包
$ sudo tcpdump host 192.168.42.6 or 192.168.42.2
#主機 192.168.42.6 和除了主機 192.168.42.2 之外的所有主機通信的數(shù)據(jù)包
$ sudo tcpdump host 192.168.42.6 and not 192.168.42.2 或者 $ sudo tcpdump host 192.168.42.6 and ! 192.168.42.2
監(jiān)控指定端口的數(shù)據(jù)包
$ sudo tcpdump port 5901
8.iftop
iftop 是一個實時流量監(jiān)控工具。iftop 監(jiān)控的是網(wǎng)絡(luò)的使用情況,而 top 監(jiān)控的是 CPU 的使用情況。iftop 監(jiān)控一個選定的接口并且顯示兩臺主機之間當(dāng)前寬帶的使用情況。
$ sudo apt-get install iftop
$ sudo iftop
9.traceroute
traceroute 命令用于追蹤數(shù)據(jù)包在網(wǎng)絡(luò)上的傳輸時的全部路徑,它通過發(fā)送小的數(shù)據(jù)包(默認是 40 字節(jié))到目的設(shè)備直到其返回,來測量其需要多長時間。一條路徑上的每個設(shè)備 traceroute 要測 3 次。輸出結(jié)果中包括每次測試的時間(ms)和設(shè)備的名稱(如有的話)及其 ip 地址。
先安裝:
$ sudo apt-get install traceroute
例如追蹤到?www.wanneng.com?的路由及速度
$ traceroute www.wanneng.com
記錄按序列號從 1 開始,每個記錄就是一跳 ,每跳表示一個網(wǎng)關(guān),我們看到每行有三個時間,單位是 ms,這是探測數(shù)據(jù)包向每個網(wǎng)關(guān)發(fā)送三個數(shù)據(jù)包后,網(wǎng)關(guān)響應(yīng)后返回的時間。用這三個時間來表示到達這個結(jié)點的網(wǎng)絡(luò)速度。
我們會看到有一些行是以星號表示的。出現(xiàn)這樣的情況,可能是防火墻封掉了 ICMP 的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回數(shù)據(jù)。
把跳數(shù)設(shè)置為 8 次
$ traceroute -m 8 www.wanneng.com
顯示 IP 地址,不查主機名
$ traceroute -n www.wanneng.com
有時我們在某一網(wǎng)關(guān)處延時比較長,有可能是某臺網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。如果某臺 DNS 出現(xiàn)問題時,不能解析主機名、域名時,也會有延時長的現(xiàn)象。可以加?-n?參數(shù)來避免 DNS 解析,以 IP 格式輸出數(shù)據(jù)。
探測包個數(shù)設(shè)為 4
$ traceroute -q 4 www.wanneng.com
10.mtr
mtr?是 Linux 中一個判斷網(wǎng)絡(luò)連通性的工具。一般?ping?命令可以用來判斷丟包率,traceroute?命令可以用來追蹤路由,而?mtr?命令結(jié)合了 ping,traceroute,nslookup 的相關(guān)特性可以用來判斷網(wǎng)絡(luò)的連通性。(在第 3 周的網(wǎng)絡(luò)常用命令中有介紹。)
$ sudo apt-get install mtr
$ mtr -r www.wanneng.com
11.vmstat
vmstat 是 Virtual Memeory Statistics(虛擬內(nèi)存統(tǒng)計)的縮寫,命令用于顯示虛擬內(nèi)存、內(nèi)核線程、磁盤、系統(tǒng)進程、I/O 塊、中斷、CPU 活動等的統(tǒng)計信息。
顯示磁盤信息
除了?-d?選項 ,它還有一些其他的選項:
每 2 秒顯示一次系統(tǒng)內(nèi)存的統(tǒng)計信息
$ vmstat 2
$ vmstat 2 3
12. df
df 命令用于顯示磁盤分區(qū)上的可使用的磁盤空間。默認顯示單位為 KB。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。
$ df
顯示所有文件系統(tǒng)的磁盤使用情況
自動轉(zhuǎn)換單位來顯示,提高可讀性
$ df -h
它還有一些其他的選項:
13.iotop
iotop 是一個用來監(jiān)視磁盤 I/O 使用狀況的 top 類工具,可監(jiān)測到哪一個程序使用的磁盤 IO 的信息,在查找具體進程和大量使用磁盤讀寫進程的時候,這個工具就非常有用。 這個命令只有在 kernel v2.6.20 及以后的版本中才有,python 版本需要 python2.7 及以上版本。由于實驗環(huán)境的權(quán)限限制并不能成功的展示該命令。此處僅做介紹
總結(jié)
以上是生活随笔為你收集整理的linux 检测wan命令,Linux系统监控常用命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RDMA Mellanox官方使用VPI
- 下一篇: 【个人kivy学习笔记】