名詞解釋
- 中斷其實是一種非同步的事件處理機制,可以提高系統的併發處理能力
- 為了解決中斷處理程式執行過長和中斷丟失的問題,Linux 將中斷處理過程分成了兩個階段,也就是上半部和下半部。
- 上半部用來快速處理中斷,它在中斷禁止模式下執行,主要處理跟硬體緊密相關的或時間敏感的工作。也就是我們常說的硬中斷,特點是快速執行。
- 下半部用來延遲處理上半部未完成的工作,通常以核心執行緒的方式執行。也就是我們常說的軟中斷,特點是延遲執行。
- proc 檔案系統。它是一種核心空間和使用者空間進行通訊的機制,可以用來檢視核心的資料結構,或者用來動態修改核心的配置。
- /proc/softirqs 提供了軟中斷的執行情況;
- /proc/interrupts 提供了硬中斷的執行情況。
工具與技巧
- sar 是一個系統活動報告工具,既可以實時檢視系統的當前活動,又可以配置儲存和報告歷史統計資料。
# -n DEV 表示顯示網路收發的報告,間隔1秒輸出一組資料 $ sar -n DEV 1 15:03:46 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 15:03:47 eth0 12607.00 6304.00 664.86 358.11 0.00 0.00 0.00 0.01 15:03:47 docker0 6302.00 12604.00 270.79 664.66 0.00 0.00 0.00 0.00 15:03:47 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:03:47 veth9f6bbcd 6302.00 12604.00 356.95 664.66 0.00 0.00 0.00 0.05
- 第一列:表示報告的時間
- 第二列:IFACE 表示網路卡
- 第三、四列:rxpck/s 和 txpck/s 分別表示每秒接收、傳送的網路幀數,也就是 PPS
- 第五、六列:rxkB/s 和 txkB/s 分別表示每秒接收、傳送的千位元組數,也就是 BPS。
hping3 是一個可以構造 TCP/IP 協議資料包的工具,可以對系統進行安全審計、防火牆測試等。
# -S參數列示設定TCP協議的SYN(同步序列號),-p表示目的埠為80 # -i u100表示每隔100微秒傳送一個網路幀 # 注:如果你在實踐過程中現象不明顯,可以嘗試把100調小,比如調成10甚至1 $ hping3 -S -p 80 -i u100 192.168.0.30
tcpdump 是一個常用的網路抓包工具,常用來分析各種網路問題
# -i eth0 只抓取eth0網路卡,-n不解析協議名和主機名 # tcp port 80表示只抓取tcp協議並且埠號為80的網路幀 $ tcpdump -i eth0 -n tcp port 80 15:11:32.678966 IP 192.168.0.2.18238 > 192.168.0.30.80: Flags [S], seq 458303614, win 512, length 0 ...
本作品採用《CC 協議》,轉載必須註明作者和本文連結