Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
6.2. 監控和診斷效能問題
Red Hat Enterprise Linux 7 提供許多工具,這些工具有助於監控系統效能和診斷有關網路系統的效能問題。本章節簡述可使用的工具和提供如何使用這些工具的範例,以監控和診斷與網路有關的效能問題。
6.2.1. ss
「ss」 是一個命令列公用程式,可以顯示有關通訊端的數據資訊,使系統管理員能夠隨時間取得裝置效能。在預設情況下,「ss」列出開放非聽取性 TCP 通訊端。這些通訊端建立連結,而有些提供的實用選項有助於系統管理員篩選出有關特定通訊端的數據。
Red Hat 建議使用「ss」,而不是使用 Red Hat Enterprise Linux 7 中的「 netstat」。
「ss」是由「iproute」套件提供。 更多相關資訊,請參閱 man page:
$ man ss
6.2.2. ip
ip 公用程式使系統管理員能夠管理和監控路由、設置、路由原則和通道。
ip monitor
命令能夠持續監控設置狀態、位址和路由。
ip 由 iproute 套件提供。更多有關使用 ip 的資訊,請參閱 man page:
$ man ip
6.2.3. dropwatch
Dropwatch 為一監控和紀錄由 kernel 棄置的 packet 的互動工具。
更多詳細資訊,請參閱 dropwatch 的 man page。
$ man dropwatch
6.2.4. ethtool
ethtool 公用程式使系統管理員能夠查閱並編輯網路介面卡設定。此工具有益於觀察特定設置的數據,例如:由設置所卸除的 packet 數量。
您可以查閱特定設置相對應的數據,透過使用
ethtool -S
,和您想監控的裝置名稱。
$ ethtool -S devname
更多詳細資訊,請參閱 man page:
$ man ethtool
6.2.5. /proc/net/snmp
/proc/net/snmp
檔案為 IP、ICMP、TCP 和 UDP 的監控與管理,顯示 snmp 代理程式使用的數據。定期檢查此檔案能夠幫助系統管理員辨識異常值,因此辨識潛在效能問題。例如:增加的 UDP 輸入錯誤(InErrors
)於 /proc/net/snmp
中,能夠表示通訊端接收佇列的瓶頸。
6.2.6. 以 SystemTap 監控網路
《Red Hat Enterprise Linux 7 系統點選初學者指南》 包含一些範例指令碼,有助於設定和監控網路效能。
以下 SystemTap 範例指令碼與網路功能相關,也可能有助於診斷網路效能問題。在預設情況下,這些指令碼是安裝在
/usr/share/doc/systemtap-client/examples/network
目錄中。
nettop.stp
- 此檔案每隔五秒會顯示程序列表(程序辨識器和命令),列表上會顯示寄出的 packet 數量和間隔之間由程序接收與寄出的資料數量。
socket-trace.stp
- 檢測 Linux kernel
net/socket.c
檔案中的各個功能,並追蹤資料。 dropwatch.stp
- 每隔 5 秒鐘,檔案會顯示在 kernel 位置中釋放的通訊端緩衝。使用「
--all-modules
」選項以檢閱象徵性名稱。
latencytap.stp
指令碼紀錄不同類型的延遲的效果,這些效果發生在一個或更多程序上。此檔案每隔 30 秒會顯示一延遲類型的列表,而此列表是以降冪排序一個或更多程序消耗於等待的總時。此檔案有助於辨識儲存量和網路延遲的原因。Red Hat 建議以此指令碼使用 --all-modules
選項,以更好地啟用延遲項目的對應。在預設情況下,此指令碼是安裝於 /usr/share/doc/systemtap-client-version/examples/profiling
目錄中。
更多詳細資訊,請參閱《Red Hat Enterprise Linux 7 系統點選初學者指南》。網址為:〈http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/〉。