Linux-常用監控工具

在這里插入圖片描述

以下是對 Linux 系統中常用監控工具(netstatssdmesg)的系統性介紹,涵蓋其核心功能、典型用法及實際應用場景,幫助您分析系統狀態和內核參數調整后的效果:


1. netstat -s:網絡協議棧統計監控

功能

netstat 用于顯示網絡連接、路由表、接口統計等信息,-s 參數專注于網絡協議棧的詳細統計(包括 TCP、UDP、ICMP 等)。
適用場景

  • 分析 TCP 連接錯誤、重傳、丟包等網絡問題。
  • 驗證 sysctl 網絡參數調整后的效果(如 tcp_tw_reusetcp_syncookies)。
關鍵輸出解析
$ netstat -s
# TCP 統計部分
Tcp:12345 active connections openings   # 主動建立的連接數6789 passive connection openings    # 被動接受的連接數100 failed connection attempts      # 失敗連接嘗試(如 SYN 重試超限)500 segments retransmitted          # 數據包重傳次數(高值可能預示網絡不穩定)200 invalid SYN cookies received    # 無效 SYN Cookie(可能遭受 SYN Flood 攻擊)300 resets sent                      # RST 包發送次數(異常關閉連接)# UDP 統計部分
Udp:50 packets received    # 接收的 UDP 包總數10 packet receive errors  # 接收錯誤(如緩沖區溢出)
常用參數
  • -s:顯示所有協議統計。
  • -t:僅顯示 TCP 統計。
  • -u:僅顯示 UDP 統計。
  • -c:持續刷新輸出(實時監控)。
實際應用
  • 檢測網絡丟包
    netstat -s | grep -E "segments retransmitted|packet receive errors"
    
  • 分析連接失敗
    netstat -s | grep "failed connection attempts"
    

2. ss -s:套接字狀態統計與監控

功能

ss(Socket Statistics)是 netstat 的現代替代工具,性能更高,支持更詳細的套接字信息。ss -s 顯示套接字狀態的匯總統計。
適用場景

  • 快速查看系統當前連接數、不同狀態(如 ESTABLISHEDTIME-WAIT)的分布。
  • 監控高并發場景下的連接隊列溢出(結合 net.core.somaxconn 調優)。
關鍵輸出解析
$ ss -s
Total: 456  
TCP:   320 (estab 200, closed 80, orphaned 0, timewait 40)  
UDP:   10  
RAW:   1  
FRAG:  0  # 連接狀態詳解:
# - estab:已建立的連接數
# - timewait:TIME-WAIT 狀態連接數(過多可能需調整 tcp_max_tw_buckets)
# - orphaned:無主連接(可能應用未正確關閉)
常用參數
  • -s:顯示匯總統計。
  • -t:僅顯示 TCP 套接字。
  • -u:僅顯示 UDP 套接字。
  • -n:禁用域名解析(加快輸出)。
  • -o:顯示計時器信息(如連接超時)。
實際應用
  • 查看 TIME-WAIT 連接數
    ss -s | grep "timewait"
    
  • 監控連接隊列溢出
    ss -tnlp | grep "LISTEN"  # 查看監聽隊列的 Recv-Q(當前積壓數)和 Send-Q(最大容量)
    

3. dmesg:內核日志與硬件事件監控

功能

dmesg 顯示內核環形緩沖區中的日志,記錄硬件事件、驅動狀態、內核錯誤等信息。
適用場景

  • 檢測內核參數調整后的錯誤或警告(如內存分配失敗、網絡丟包)。
  • 排查硬件故障或驅動兼容性問題。
關鍵輸出解析
$ dmesg
[ 1234.567] IPv4: martian source 192.168.1.100 from 10.0.0.1  # 異常源 IP(路由問題)
[ 2345.678] TCP: time wait bucket table overflow              # TIME-WAIT 連接超過限制
[ 3456.789] Out of memory: Kill process 1234 (java)           # 內存耗盡觸發 OOM Killer
[ 4567.890] eth0: link up                                     # 網卡鏈路狀態變化
常用參數
  • -T:顯示人類可讀的時間戳。
  • -k:僅顯示內核消息。
  • -l:按日志級別過濾(如 -l err 僅顯示錯誤)。
  • -H:隱藏時間戳和主機信息。
實際應用
  • 實時監控內核事件
    dmesg -w  # 持續輸出新日志(類似 tail -f)
    
  • 篩選網絡相關錯誤
    dmesg | grep -iE "tcp|udp|ipv4|eth0"
    
  • 查看 OOM 事件
    dmesg | grep "Out of memory"
    

4. 工具對比與聯合使用

工具核心功能優勢典型場景
netstat -s協議棧統計(TCP/UDP/ICMP)歷史兼容性強,輸出直觀分析網絡錯誤、重傳統計
ss -s套接字狀態與連接統計性能高效,支持更多細節實時監控連接數、隊列積壓
dmesg內核日志與硬件事件直接反映內核級問題排查內核參數錯誤、硬件故障
聯合使用案例

場景:調整 net.ipv4.tcp_max_syn_backlog 后驗證 SYN 隊列溢出情況。

  1. 查看當前 SYN 隊列積壓
    ss -tnl | grep ":80"  # 查看 Recv-Q(當前積壓數)與 Send-Q(隊列容量)
    
  2. 監控 SYN 重傳統計
    netstat -s | grep "SYNs to LISTEN"
    
  3. 檢查內核日志中的隊列溢出警告
    dmesg | grep "TCP: Possible SYN flooding"
    

5. 自動化監控與擴展工具

  • 腳本化監控
    # 定期記錄 TCP 統計到文件
    while true; donetstat -s | grep "segments retransmitted" >> /var/log/tcp_retrans.logsleep 60
    done
    
  • 高級工具擴展
    • sar(sysstat 包):長期性能數據收集(如網絡吞吐、CPU 使用率)。
    • nmon:實時系統資源監控(支持網絡、磁盤、CPU 等)。
    • Prometheus + Grafana:可視化監控與告警。

總結

通過 netstat -sss -sdmesg 的組合使用,可以全面監控網絡狀態、套接字行為及內核事件,尤其在調整 sysctl 參數后:

  1. netstat -s 用于分析協議層錯誤(如重傳、丟包)。
  2. ss -s 快速定位連接狀態異常(如 TIME-WAIT 堆積)。
  3. dmesg 捕獲內核級警告(如內存不足、隊列溢出)。
    結合這些工具,可精準評估調優效果并快速排查問題。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/78169.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/78169.shtml
英文地址,請注明出處:http://en.pswp.cn/web/78169.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux系統:詳解文件描述符與重定向原理以及相關接口(open,read,write,dup2)

本節重點 從狹義與廣義角度理解文件理解文件描述符掌握open,write,read系統調用理解重定向的概念與原理掌握重定向的指令操作stdout與stderr的比較為什么存在stderr? 一、理解“文件” 1.1 狹義角度 在狹義層面,Linux文件是磁盤或存儲設備上連續或分…

美國市場變局:沃爾瑪95%覆蓋率的3個流量入口重構策略

過去幾年,美國零售市場經歷了極大的變化。電商發展迅猛,加上疫情影響,消費者購物習慣出現轉向。而作為美國零售巨頭,沃爾瑪(Walmart)憑借高達95%的線下覆蓋率,始終是品牌和賣家不可忽視的渠道。…

一文詳解 Linux下的開源打印系統CUPS(Common UNIX Printing System)

文章目錄 前言一、CUPS 簡介二、CUPS 常用指令解析2.1 安裝 CUPS2.2 啟動/重啟服務2.3 添加打印機(核心操作)2.4 設置默認打印機2.5 打印文件2.6 查看打印任務2.7 取消打印任務2.8 查看、移除已添加的打印機 三、調試與常見問題3.1 日志查看3.2 驅動問題…

React useCallback函數

應用場景:父組件向子組件傳遞函數類型的props時

python 桌面程序開發簡述及示例

Python桌面程序開發簡述及示例 Python憑借其簡潔的語法和豐富的庫支持,非常適合開發跨平臺的桌面應用程序。本文將介紹Python桌面開發的主要方法,并提供實際代碼示例。 一、Python桌面開發主要方法 1.1 Tkinter(標準庫) Python內置的GUI庫,適合開發簡單桌面應用 1.2 …

數字智慧方案5875丨智慧交通樞紐綜合解決方案(43頁PPT)(文末有下載方式)

篇幅所限,本文只能提供部分資料內容,完整資料請看下面鏈接 https://download.csdn.net/download/2301_78256053/89575708 資料解讀:智慧交通樞紐綜合解決方案 詳細資料請看本解讀文章的最后內容。 隨著城市化進程的加速和交通需求的不斷增…

企業級分布式 MCP 方案

飛書原文檔鏈接地址:https://ik3te1knhq.feishu.cn/wiki/D8kSwC9tFi61CMkRdd8cMxNTnpg 企業級分布式 MCP 方案 [!TIP] 背景:現階段 MCP Client 和 MCP Server 是一對一的連接方式,若當前 MCP Server 掛掉了,那么 MCP Client 便不…

【AI提示詞】奧卡姆剃刀思維模型專家

提示說明 一位專注于奧卡姆剃刀思維模型的專業人士,擅長將簡潔性原則應用于復雜問題的分析與解決。 提示詞 # Role: 奧卡姆剃刀思維模型專家## Profile - language: 中文 - description: 一位專注于奧卡姆剃刀思維模型的專業人士,擅長將簡潔性原則應用…

2.1 行列式

引言 行列式是線性代數的核心工具,貫穿矩陣運算、特征值計算與微分方程求解。本文系統梳理2.1節核心考點,結合公式速查與典型例題,助你高效突破行列式難點! 考點一:數值型行列式計算 1?? 行列式的定義 (1) 定義方…

單詞規律(簡單)

思路和同構字符串那道題一樣。、但是這道題要注意的地方就是,檢查 pattern 和 s 的單詞數量是否一致以及在進行字符串比較的時候應該用equals來進行比較,而不能用“!”,“!”比較的是對象引用而非內容。 class Soluti…

【C++】認識map和set

目錄 前言: 一:認識map和set 二:map和set的使用 1.set的使用 2.map的使用 三:map的insert方法返回值 四:map的[ ]的使用 五:multiset和multimap 六:map和set的底層數據結構 七&#x…

Mybatis中的一級二級緩存掃盲

思維導圖: MyBatis 提供了一級緩存和二級緩存機制,用于提高數據庫查詢的性能,減少對數據庫的訪問次數。(本質上是減少IO次數)。 一級緩存 1. 概念 一級緩存也稱為會話緩存,它是基于 SqlSession 的緩存。在同…

uniapp 實現低功耗藍牙連接并讀寫數據實戰指南

在物聯網應用場景中,低功耗藍牙(BLE)憑借其低能耗、連接便捷的特點,成為設備間數據交互的重要方式。Uniapp 作為一款跨平臺開發框架,提供了豐富的 API 支持,使得在多個端實現低功耗藍牙功能變得輕松高效。本…

OpenSSL應用實踐:嵌入式數據安全實戰指南

文章目錄 OpenSSL應用實踐:嵌入式數據安全實戰指南一、嵌入式安全現狀與OpenSSL適配方案1.1 嵌入式安全挑戰1.2 OpenSSL精簡方案二、開發環境搭建2.1 交叉編譯工具鏈2.2 OpenSSL交叉編譯三、核心功能實現3.1 AES-GCM加密實踐四、實戰項目:安全OTA升級4.1 系統架構4.2 關鍵代碼…

harmonyOS 手機,雙折疊,平板,PC端屏幕適配

由于HarmonyOS設備的屏幕尺寸和分辨率各不相同,開發者需要采取適當的措施來適配不同的屏幕。 1.EntryAbility.ets文件里:onWindowStageCreate方法里判斷設備類型, 如果是pad,需全屏展示(按客戶需求來,本次…

跟韓學AiOps系列之2025學MySQL系列_如何在MySQL中開啟和提交事務?!

跟韓學AiOps系列之2025學MySQL系列_如何在MySQL中開啟和提交事務?! 文章目錄 一、事務的基本操作1. 開啟事務2. 執行事務內操作3. 提交事務4. 回滾事務 二、驗證示例(適用于 MySQL 5.7)步驟 1:準備測試表和數據步驟 2&#xff1a…

Java生成微信小程序碼及小程序短鏈接

使用wx-java-miniapp-spring-boot-starter 生成微信小程序碼及小程序短鏈接 在pom.xml文件中引入依賴 <dependency><groupId>com.github.binarywang</groupId><artifactId>wx-java-miniapp-spring-boot-starter</artifactId><version>4.7…

如何讓通義千問大模型支持結構化輸出?

之前的文章提到通義千問API無法通過with_structured_output/json schema的方式支持結構化輸出&#xff0c;如果就是想使用通義千問大模型做結構化輸出&#xff0c;應該怎么辦呢&#xff1f;有兩種辦法 使用Ollama來運行通義千問大模型 從Ollama博客文章 Structured output 中…

一條 SQL 查詢語句是如何執行的(MySQL)

第一講&#xff1a;一條 SQL 查詢語句是如何執行的 總覽圖示 MySQL 查詢的執行流程可以大致分為以下步驟&#xff08;如圖所示&#xff09;&#xff1a; 連接器&#xff08;Connection&#xff09;查詢緩存&#xff08;Query Cache&#xff0c;MySQL 8.0 已廢棄&#xff09;…

汽車OTA在線升級法規分析

摘要 本文介紹了R156法規即《關于批準車輛的軟件升級和軟件升級管理體系統一規定的法規》、該法規專注于汽車軟件升級功能&#xff0c;并為此提出了一系列具體要求&#xff0c;旨在確保軟件升級流程的安全性、可控性和合規性&#xff0c;從而順應汽車行業智能化、聯網化的發展趨…