成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官提問:Linux 系統故障時,你會用哪些工具排查?

系統 Linux
你當前的系統狀態非常良好,CPU 負載輕,I/O 等待時間短,無需額外優化。如果某個 CPU 核心的負載過高或 %iowait 增加,可能需要進一步分析具體的進程或任務。

引言

正如標題所言:如果面試官問你,如果在 Linux 中系統出現了問題,你會使用哪些工具排查呢?

那就把下面的三分之一記住就足夠了,如果面試官不服氣,那就把下面所有的都給他說一遍,讓他啞口無言。

開始

簡介

性能分析

? top: 實時顯示系統的 CPU、內存使用情況,以及各個進程的資源消耗。

? htop: top 命令的增強版,界面更友好,支持鼠標操作,可以更加方便地查看和管理進程。

? mpstat: 顯示各個 CPU 核心的使用情況,分析多核系統中的 CPU 負載。

? sar: 系統活動報告工具,可以監控 CPU、內存、I/O 等系統資源的使用情況。它可以在長時間內進行系統性能的數據采集。

? vmstat: 查看 CPU、內存、交換分區的性能,能夠檢測 CPU 的等待時間和系統瓶頸。

內存性能分析

? free: 顯示系統當前的內存和交換分區使用情況。

? vmstat: 顯示內存、進程、I/O 系統的性能狀態。可以幫助分析內存的使用情況。

? smem: 詳細列出每個進程的內存消耗情況。

? top / htop: 可以查看每個進程的內存使用情況。

? slabtop: 顯示內核 slab 緩存的使用情況,有助于了解內存中緩存數據塊的分布。

磁盤性能分析

? iostat: 顯示磁盤 I/O 的性能統計信息,尤其是在分析磁盤讀寫性能時非常有用。

? iotop: 類似于 top,但專注于磁盤 I/O,能夠按進程顯示實時 I/O 活動。

? df: 顯示文件系統的磁盤使用情況。

? du: 顯示文件或目錄的磁盤空間使用情況。

? lsblk: 列出所有存儲設備和分區信息。

? blktrace: 對塊設備進行詳細的 I/O 跟蹤分析。

網絡性能分析

? ifconfig / ip: 顯示和配置網絡接口的信息。

? netstat: 查看網絡連接、路由表、接口狀態、協議統計等。

? ss: 替代 netstat 的工具,功能更強大,速度更快,分析網絡連接和套接字。

? iftop: 實時監控網絡帶寬使用情況,顯示每個網絡連接的實時流量。

? nload: 實時查看網絡流量的工具,能夠顯示出入口和出口的帶寬使用情況。

? ping: 測試與遠程主機的網絡連通性,測量網絡延遲。

? traceroute: 查看數據包從本地主機到目標主機經過的路由信息。

? tcpdump: 強大的網絡抓包工具,能夠捕獲和分析網絡數據包。

? nmap: 網絡掃描工具,檢查開放端口、主機發現和網絡服務。

進程管理

? ps: 列出當前正在運行的進程。

? top / htop: 查看實時進程資源消耗情況。

? pstree: 以樹形結構展示進程關系。

? kill: 終止特定的進程。

? strace: 跟蹤系統調用和信號,分析進程執行的系統調用,非常適合調試和跟蹤進程的運行狀態。

綜合性能分析

? dstat: 結合 vmstat、iostat、netstat 等工具的功能,實時顯示 CPU、內存、磁盤 I/O、網絡等資源的使用情況。

? perf: 內核提供的強大性能分析工具,支持采樣、跟蹤和性能分析,適合開發人員和高級用戶進行深入的性能調優。

? sar: 系統監控和報告工具,可以詳細記錄 CPU、內存、網絡、I/O 等各方面的性能。

? sysstat: 包含 iostat、mpstat、sar 等多種工具的綜合工具包。

? glances: 類似于 htop 和 dstat 的結合,實時監控 CPU、內存、磁盤、網絡、進程等多項系統性能指標。

最佳實踐

一、性能分析

1. top

? 用途: 實時監控 CPU、內存及進程資源消耗。

? 快捷鍵:

a:按 CPU 使用率排序。

b:按內存使用率排序。

c :退出。

? 示例:

top -c  # 顯示完整進程命令行

2. htop (需安裝)

? 用途: 增強版 top,支持鼠標操作、多核負載可視化。

? 安裝:

sudo apt install htop  # Debian/Ubuntu

? 示例:

htop  # 查看線程級 CPU 使用
3. mpstat (需安裝 sysstat )

? 用途: 監控多核 CPU 各核心利用率。

? 示例:

mpstat -P ALL 1  # 每秒刷新所有核心狀態
4. perf

? 用途: 深入分析 CPU 性能事件(如函數熱點、緩存命中率)。

? 示例:

perf top       # 實時查看 CPU 熱點
perf record -g # 生成火焰圖數據
5. sar(需安裝 sysstat)

? 用途: 長期記錄 CPU 使用率、上下文切換等。

? 示例:

sar -u 1 5  # 查看過去 5 秒 CPU 使用率

二、內存性能分析

1. free

? 用途: 快速查看內存和 Swap 使用量。

? 示例:

free -h  # 以 GB/MB 顯示
2. vmstat

? 用途: 綜合監控內存、Swap、進程隊列和 I/O。

? 示例:

vmstat 1  # 每秒刷新一次
3. smem(需安裝)

? 用途: 按進程統計實際物理內存占用(USS/PSS/RSS)。

? 安裝:

sudo apt install smem  # Debian/Ubuntu

? 示例:

smem -u  # 按用戶統計內存
4. slabtop

? 用途: 分析內核 Slab 緩存(內核對象占用內存)。

? 示例:

slabtop -s c  # 按緩存大小排序

三、磁盤性能分析

1. iostat(需安裝 sysstat)

? 用途: 監控磁盤吞吐量、延遲和利用率。

? 示例:

iostat -xz 1  # 查看詳細 I/O 統計
2. iotop(需安裝)

? 用途: 按進程實時顯示磁盤 I/O 活動。

? 安裝:

sudo apt install iotop  # Debian/Ubuntu

? 示例:

iotop -o  # 僅顯示活躍 I/O 進程
3. blktrace(需安裝)

? 用途: 深度跟蹤塊設備 I/O 請求(調試磁盤性能瓶頸)。

? 示例:

blktrace -d /dev/sda -o trace  # 跟蹤 sda 設備

四、網絡性能分析

1. iftop(需安裝)

? 用途: 實時監控網絡連接帶寬。

? 示例:

sudo iftop -i eth0  # 指定網卡監控
2. nethogs(需安裝)

? 用途: 按進程統計網絡流量。

? 示例:

nethogs eth0  # 查看指定網卡流量
3. ss

? 用途: 替代 netstat,快速查看連接和端口狀態。

? 示例:

ss -tunlp  # 顯示所有 TCP/UDP 連接及進程
4. tcpdump

? 用途: 抓包分析網絡流量(需 root 權限)。

? 示例:

tcpdump -i eth0 port 80  # 抓取 HTTP 流量

五、進程級分析

1. pidstat(需安裝 sysstat )

? 用途: 監控進程的 CPU、內存、I/O。

? 示例:

pidstat -d -p 1234 1  # 監控 PID 1234 的磁盤 I/O
2. strace

? 用途: 跟蹤進程的系統調用和信號。

? 示例:

strace -p 1234 -T  # 跟蹤 PID 1234 的調用耗時

六、綜合工具與場景指南

1. 一站式監控工具

? glances(需安裝)

glances  # 實時監控 CPU、內存、磁盤、網絡

? dstat(需安裝)

dstat -c -m -d -n  # 綜合顯示 CPU、內存、磁盤、網絡
2. 高頻場景速查

? 系統卡頓:

top → vmstat 1 → iostat 1 → pidstat 1  # 逐層定位瓶頸

? 網絡延遲:

ping 8.8.8.8 → traceroute google.com → tcpdump -i eth0  # 逐步排查

? 進程異常:

strace -p <PID> → perf record -g -p <PID>  # 分析系統調用和 CPU 熱點
3. 實用組合命令

? 查找 CPU/內存占用 Top 進程:

ps aux --sort=-%cpu | head -10  # Top 10 CPU 進程
ps aux --sort=-%mem | head -10  # Top 10 內存進程

? 持續監控磁盤空間:

watch -n 1 'df -h'  # 每秒刷新磁盤使用

七、使用場景總結

? 系統變慢: 先用 top 或 htop 查看整體負載,再用 vmstat/iostat 定位 CPU、磁盤或內存瓶頸。

? 網絡延遲: iftop 或 nethogs 查看流量,tcpdump 抓包分析。

? 進程卡死: strace 跟蹤系統調用,perf 分析 CPU 熱點。

實際案例解說

這邊選擇幾個有代表性的把參數詳細聊聊。

圖片

vmstat 命令顯示了 系統資源的實時狀態,幫助你監控 CPU、內存、IO、進程等資源的使用情況。

(進程相關)

? r: 運行隊列中等待 CPU 的進程數。如果這個數值大于 CPU 核心數量,說明系統 CPU 資源不足。

? b: 不可中斷睡眠的進程數(一般是等待 I/O 的進程)。

(內存相關)

? swpd: 使用的 swap 空間(單位:KB)。如果非 0,表示系統已經在使用 swap 分區,可能會影響性能。

? free: 空閑內存(單位:KB)。

? buff: 用于緩沖區的內存(單位:KB),用于存儲文件系統的元數據。

? cache: 用于緩存的內存(單位:KB),加速數據讀取。如果緩存命中率高,會減少 I/O 壓力。

(交換分區相關)

? si(swap in): 從 swap 分區交換到內存的大小(單位:KB/秒)。

? so(swap out): 從內存交換到 swap 分區的大小(單位:KB/秒)。

? 如果 si 和 so 值較大,說明系統內存不足,需要頻繁使用 swap,這會降低性能。

(相關)

? bi(block in): 從塊設備(如磁盤)讀取的數據量(單位:塊/秒)。

? bo(block out): 寫入塊設備(如磁盤)的數據量(單位:塊/秒)。

? 這兩個值高時,說明磁盤 I/O 活動頻繁,可能會成為系統瓶頸。

(系統相關)

? in: 每秒中斷次數,包括硬件和系統時鐘中斷。

? cs(context switches): 每秒上下文切換次數。上下文切換多說明進程頻繁切換,可能影響性能。

(相關)

? us(user time): CPU 花費在用戶進程上的時間百分比。用戶進程是指非內核的應用程序。

? sy(system time): CPU 花費在系統內核進程上的時間百分比。

? id(idle time): CPU 的空閑時間百分比。如果值很高,說明 CPU 比較空閑。

? wa(wait time): CPU 等待 I/O 的時間百分比。如果值高,說明 I/O 成為系統瓶頸。

? st(steal time): 虛擬機中,CPU 被其他虛擬機占用的時間百分比。如果值高,說明虛擬化資源不足。

如何分析圖中的數據:

? r 為 0: 沒有等待 CPU 的進程,CPU 資源充足。

? id 高達 98-97%: CPU 基本處于空閑狀態,系統負載很低。

? wa 為 0%: 沒有 CPU 等待 I/O,I/O 性能正常。

? si 和 so 為 0: 系統沒有使用 swap,內存充足。

? bi 和 bo 較低: 磁盤 I/O 壓力不大。

總結:

從截圖來看,系統整體運行狀態非常良好:

? CPU 基本處于空閑狀態(id 很高)。

? 沒有使用 swap(swpd、si、so 都是 0)。

? 沒有等待 CPU 或 I/O 的進程(r、b 和 wa 都接近 0)。

這表明當前系統負載很低,沒有出現任何性能瓶頸。

圖片圖片

你的截圖顯示了 iostat -d 3 命令的輸出,它展示了 磁盤設備的性能數據。

iostat -d 3 輸出字段解釋

1. Device:

? 顯示監控的磁盤設備名稱(如 vda 和 vdb)。

? 這些是塊設備,如虛擬機中的磁盤、物理磁盤或分區。

2. tps(Transactions per Second):

? 每秒對該設備發起的 I/O 請求數(讀或寫)。

? 這個值越高,說明設備的 I/O 活動越頻繁。

3. kB_read/s:

? 每秒從設備讀取的 數據量(單位:KB)。

? 如果這個值持續較高,說明系統在頻繁讀取數據。

4. kB_wrtn/s:

? 每秒寫入設備的 數據量(單位:KB)。

? 如果寫入數據量較高,說明系統在頻繁寫數據到磁盤。

5. kB_dscd/s(discarded data per second):

? 每秒丟棄的數據量(單位:KB)。通常用于監控 SSD 設備的 TRIM 操作。

? 在你的輸出中,該值為 0,說明當前沒有丟棄操作。

6. kB_read:

? 從啟動以來總共讀取的數據量(單位:KB)。

7. kB_wrtn:

? 從啟動以來總共寫入的數據量(單位:KB)。

8. kB_dscd:

? 從啟動以來總共丟棄的數據量(單位:KB)。在你截圖中為 0。

分析你的輸出

? vda 設備:

? tps:3.74,每秒有 3.74 個 I/O 操作。

? 讀取速率:每秒讀取 0.52 KB。

? 寫入速率:每秒寫入 65.88 KB。

? 說明:vda 設備的寫入操作較為頻繁,性能上主要是寫密集型。

? vdb 設備:

? tps:0.10,每秒只有 0.10 個 I/O 操作。

? 讀取和寫入速率:讀取和寫入數據量都很小(約 0.52 KB 和 2.10 KB/s)。

? 說明:vdb 設備 I/O 活動較少,讀寫需求不高。

如何解讀這些數據

1. I/O 活動:

? vda 設備 I/O 活動相對較高,且主要以寫操作為主(每秒寫入 65.88 KB)。

? vdb 活動非常少,基本沒有大量的讀寫需求。

2. 性能分析:

? 如果寫入操作頻繁且 I/O 性能出現瓶頸(如 tps 和 kB_wrtn/s 高得離譜),可能需要檢查設備是否需要優化或擴展。

? 如果讀取較慢,可能需要檢查是否有必要優化緩存。

總結

? vda 設備 主要是寫操作頻繁,需要密切監控寫入性能。

? vdb 設備 活動很少,沒有明顯的性能壓力。

你可以繼續使用 iostat 命令來實時監控設備的 I/O 性能,并觀察這些值是否在高峰期發生顯著變化。如有必要,也可以結合 iotop 或 dstat 等工具進行進一步分析。

圖片圖片

該命令顯示 每個 CPU 核心 的詳細使用情況,并每 3 秒更新一次。

字段解釋:

1. CPU:

? 顯示是哪一個 CPU 核心。

? all 表示所有 CPU 核心的平均值。

? 接下來的每一行代表一個具體的 CPU 核心(例如 0 到 7 代表系統中的 8 個核心)。

2. %usr(User Time):

? 用戶進程消耗的 CPU 百分比(不包括內核進程)。

? 這個值較高時,說明系統在運行大量的用戶級應用程序。

3. %nice(Nice Time):

? 被調整優先級(nice 級別)的進程消耗的 CPU 百分比。

? 如果有低優先級任務占用大量 CPU 時間,這個值會增加。

4. %sys(System Time):

? 內核進程消耗的 CPU 百分比。

? 如果這個值較高,說明內核級的任務或 I/O 操作占用了大量 CPU 時間。

5. %iowait(I/O Wait):

? CPU 等待 I/O 操作完成的時間百分比。

? 如果這個值較高,說明 CPU 大量時間被耗費在等待磁盤或網絡 I/O 上。

6. %irq(Interrupt Requests):

? CPU 處理硬件中斷(IRQ)請求的時間百分比。

? 高值表明系統中有頻繁的硬件中斷(如網絡或磁盤活動)。

7. %soft(Soft IRQs):

? 軟中斷占用的 CPU 時間百分比。

? 軟中斷多與網絡或驅動程序相關。

8. %steal(Steal Time):

? 在虛擬化環境中,CPU 被其他虛擬機占用的時間百分比。

? 如果值較高,說明虛擬機沒有獲得足夠的 CPU 資源。

9. %guest(Guest Time):

? CPU 用于運行虛擬機內進程的時間百分比。

10. %gnice(Guest Nice Time):

? 虛擬機中被調整了優先級的進程消耗的時間。

11. %idle(Idle Time):

? CPU 空閑的時間百分比。

? 如果該值高,說明系統比較空閑;如果低,說明 CPU 資源繁忙。

分析你的輸出:

1. 所有 CPU 核心的平均情況(all 行):

? %usr: 2.59%——用戶進程占用少量 CPU 時間。

? %sys: 2.30%——內核進程也占用了一些時間。

? %iowait: 0.17%——CPU 花在等待 I/O 的時間很少。

? %idle: 94.95%——整體來看,CPU 大部分時間處于空閑狀態。

2. 各個 CPU 核心的情況:

? CPU 6: %usr 為 7.33%,CPU 活動稍高。

? 其余核心: 大部分核心的 %idle 在 90% 以上,表明它們大部分時間處于空閑狀態。

結論:

? 系統整體負載較低,因為所有 CPU 的空閑時間 %idle 都很高(94% 以上)。

? CPU 6 相較于其他核心稍微活躍,但沒有出現過高的負載,說明系統沒有性能瓶頸。

? I/O 等待時間 %iowait 很低(0.17%),說明磁盤和網絡 I/O 不存在明顯的瓶頸。

你當前的系統狀態非常良好,CPU 負載輕,I/O 等待時間短,無需額外優化。如果某個 CPU 核心的負載過高或 %iowait 增加,可能需要進一步分析具體的進程或任務。

責任編輯:武曉燕 來源: 云原生運維圈
相關推薦

2014-05-09 14:33:35

2013-04-10 13:52:23

2020-08-17 07:40:19

消息隊列

2023-02-16 08:10:40

死鎖線程

2021-12-08 06:53:29

面試動態代理

2022-09-29 07:30:57

數據庫索引字段

2024-11-14 09:29:38

2018-11-26 08:40:43

2013-05-16 09:11:15

系統故障故障排查

2015-08-13 10:29:12

面試面試官

2024-07-23 08:21:19

2025-05-28 00:00:01

MySQL場景索引

2024-07-26 08:10:10

2023-02-20 08:08:48

限流算法計數器算法令牌桶算法

2021-05-11 09:20:38

Webpack工具模塊

2024-05-11 15:11:44

系統軟件部署

2025-03-04 08:06:17

2024-07-26 08:47:07

2025-06-04 07:48:46

2019-08-19 14:51:56

Linux 系統 數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91看片在线观看 | 天堂在线中文字幕 | 91社区在线观看 | 成人在线一区二区 | 欧美激情久久久 | 亚洲香蕉 | 日韩欧美二区 | 中文字幕亚洲视频 | av国产精品毛片一区二区小说 | 亚洲精品视频二区 | 99riav国产一区二区三区 | 在线成人av | 一区二区国产在线观看 | 在线亚洲人成电影网站色www | 久久免费视频在线 | 亚洲在线一区二区三区 | 国产69久久精品成人看动漫 | 国产一区影院 | 精品1区2区| 亚洲成人在线视频播放 | 久久久99国产精品免费 | 欧美精品一区二区免费 | 免费激情 | 欧美日韩亚洲三区 | 欧美一区二区三区小说 | 国产成人精品一区二区三区在线 | 久久久99精品免费观看 | 午夜视频一区 | 欧洲亚洲一区 | 久久精品色欧美aⅴ一区二区 | 欧美亚洲高清 | 91精品国产高清一区二区三区 | 久草新在线 | 亚洲第一天堂 | 一区二区三区av | 欧美黄视频 | 国产欧美视频一区二区 | 看特级黄色片 | 天天躁日日躁xxxxaaaa | 欧美性受xxx | 精品日韩|