??目錄
排查順序
整體情況:-
top/htop/atop
命令查看進程/線程、CPU、內(nèi)存使用情況,CPU使用情況; -
dstat 2
查看CPU、磁盤IO、網(wǎng)絡IO、換頁、中斷、切換,系統(tǒng)I/O狀態(tài); -
vmstat 2
查看內(nèi)存使用情況,內(nèi)存狀態(tài); -
iostat -d -x 2
查看所有磁盤的IO情況,系統(tǒng)I/O狀態(tài); -
iotop
查看IO靠前的進程,系統(tǒng)的I/O狀態(tài); -
perf top
查看占用CPU最多的函數(shù),CPU使用情況; -
perf record -ag -- sleep 15;perf report
查看CPU事件占比,調(diào)用棧,CPU使用情況; -
sar -n DEV 2
查看網(wǎng)卡的吞吐,網(wǎng)卡狀態(tài); -
/usr/share/bcc/tools/filetop -C
查看每個文件的讀寫情況,系統(tǒng)的I/O狀態(tài); -
/usr/share/bcc/tools/opensnoop
顯示正在被打開的文件,系統(tǒng)的I/O狀態(tài); -
mpstat -P ALL 1
單核CPU是否被打爆; -
ps aux --sort=-%cpu
按CPU使用率排序,找出CPU消耗最多進程; -
ps -eo pid,comm,rss | awk '{m=$3/1e6;s["*"]+=m;s[$2]+=m} END{for (n in s) printf"%10.3f GB %s\n",s[n],n}' | sort -nr | head -20
統(tǒng)計前20內(nèi)存占用;
-
awk 'NF>3{s["*"]+=s[$1]=$3*$4/1e6} END{for (n in s) printf"%10.1f MB %s\n",s[n],n}' /proc/slabinfo | sort -nr | head -20
統(tǒng)計內(nèi)核前20slab的占用;
-
pidstat 2 -p 進程號
查看可疑進程CPU使用率變化情況; -
pidstat -w -p 進程號 2
查看可疑進程的上下文切換情況; -
pidstat -d -p 進程號 2
查看可疑進程的IO情況; -
lsof -p 進程號
查看進程打開的文件; -
strace -f -T -tt -p 進程號
顯示進程發(fā)起的系統(tǒng)調(diào)用;
-
ethtool -S
查看網(wǎng)卡硬件情況; -
cat/proc/net/softnet_stat/ifconfig eth1
查看網(wǎng)卡驅(qū)動情況; -
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
查看連接狀態(tài)分布; -
ss -ntp
或者netstat -ntp
查看連接隊列; -
查看協(xié)議棧情況;netstat -s
方法論
RED方法:監(jiān)控服務的請求數(shù)(Rate)、錯誤數(shù)(Errors)、響應時間(Duration)。Weave Cloud在監(jiān)控微服務性能時提出的思路。USE方法:監(jiān)控系統(tǒng)資源的使用率(Utilization)、飽和度(Saturation)、錯誤數(shù)(Errors)。????性能分析工具
Linux 內(nèi)核的各個子系統(tǒng)出發(fā),匯總了對各個子系統(tǒng)進行性能分析時,你可以選擇的工具。不過,雖然這個圖是性能分析最好的參考資料之一,它其實還不夠具體。比如,當你需要查看某個性能指標時,這張圖里對應的子系統(tǒng)部分,可能有多個性能工具可供選擇。但實際上,并非所有這些工具都適用,具體要用哪個,還需要你去查找每個工具的手冊,對比分析做出選擇。CPU分析思路
首先,從 CPU 的角度來說,主要的性能指標就是 CPU 的使用率、上下文切換以及 CPU Cache 的命中率等。下面這張圖就列出了常見的 CPU 性能指標。???內(nèi)存分析思路
接著我們來看內(nèi)存方面。從內(nèi)存的角度來說,主要的性能指標,就是系統(tǒng)內(nèi)存的分配和使用、進程內(nèi)存的分配和使用以及 SWAP 的用量。下面這張圖列出了常見的內(nèi)存性能指標。???IO分析思路
從文件系統(tǒng)和磁盤 I/O 的角度來說,主要性能指標,就是文件系統(tǒng)的使用、緩存和緩沖區(qū)的使用,以及磁盤 I/O 的使用率、吞吐量和延遲等。下面這張圖列出了常見的 I/O 性能指標。???????網(wǎng)絡分析思路
從網(wǎng)絡的角度來說,主要性能指標就是吞吐量、響應時間、連接數(shù)、丟包數(shù)等。根據(jù) TCP/IP 網(wǎng)絡協(xié)議棧的原理,我們可以把這些性能指標,進一步細化為每層協(xié)議的具體指標。這里我同樣用一張圖,分別從鏈路層、網(wǎng)絡層、傳輸層和應用層,列出了各層的主要指標。?????基準測試工具
除了性能分析外,很多時候,我們還需要對系統(tǒng)性能進行基準測試。比如,- 在文件系統(tǒng)和磁盤 I/O 模塊中,我們使用 fio 工具,測試了磁盤 I/O 的性能。
- 在網(wǎng)絡模塊中,我們使用 iperf、pktgen 等,測試了網(wǎng)絡的性能。
- 而在很多基于 Nginx 的案例中,我們則使用 ab、wrk 等,測試 Nginx 應用的性能。
參考
- 相當一部分內(nèi)容來自極客時間出品的倪鵬飛專欄《Linux性能優(yōu)化》, 這是之前這個專欄的學習筆記。
- 另一份資料是IBM紅寶書Linux性能調(diào)優(yōu)指南。
- 此外,The Linux Documentation Project是一個非常好的資料庫。
- 將硬件中斷的處理任務分配個多個CPU:SMP affinity and proper interrupt handling in Linux
- Hidden Costs of Memory Allocation
- https://www.lijiaocn.com/soft/linux/
END
開發(fā)板/核心板/主板/整機
OEM/ODM
原文標題:Linux問題分析與性能優(yōu)化
文章出處:【微信公眾號:啟揚ARM嵌入式開發(fā)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
Linux
+關注
關注
87文章
11320瀏覽量
209851
發(fā)布評論請先 登錄
相關推薦
如何優(yōu)化總線系統(tǒng)的性能
總線系統(tǒng)是計算機和其他電子設備中用于傳輸數(shù)據(jù)的關鍵組件。性能優(yōu)化可以提高數(shù)據(jù)傳輸速率、降低延遲,并增強系統(tǒng)的可靠性和擴展性。 1. 理解總線系統(tǒng) 總線類型 :介紹不同類型的總線,如PCIe、USB
Linux之性能優(yōu)化
一、優(yōu)化內(nèi)核相關參數(shù) 配置文件/etc/sysctl.conf 配置方法直接將參數(shù)添加進文件每條一行 sysctl -a 可以查看默認配置sysctl -p 執(zhí)行并檢測是否有錯誤 1、網(wǎng)絡相關
如何優(yōu)化DCS系統(tǒng)的性能
優(yōu)化DCS(分布式控制系統(tǒng))系統(tǒng)的性能是確保工業(yè)自動化過程高效、穩(wěn)定運行的關鍵。以下是一些具體的優(yōu)化措施: 一、硬件優(yōu)化 設備選擇與升級 :檢查并確保DCS系統(tǒng)的硬件設備符合規(guī)格要求,
如何優(yōu)化emc存儲性能
性能。 1. 理解存儲架構 在進行任何優(yōu)化之前,了解你的EMC存儲系統(tǒng)的架構是至關重要的。這包括識別存儲陣列的型號、配置、連接的主機以及存儲網(wǎng)絡的布局。了解這些基本信息可以幫助你確定可能的性能瓶頸和
如何優(yōu)化SOC芯片性能
優(yōu)化SOC(System on Chip,系統(tǒng)級芯片)芯片性能是一個復雜而多維的任務,涉及多個方面的優(yōu)化策略。以下是一些關鍵的優(yōu)化措施: 一、架構設計
如何優(yōu)化FPGA設計的性能
、延遲、吞吐量等。這些指標應根據(jù)系統(tǒng)的性能需求和資源限制來確定。 分析約束 :了解并考慮所有相關的設計約束,如功耗、成本、可制造性等,以確保優(yōu)化方案的實際可行性。 二、邏輯設計優(yōu)化 減
AI大模型的性能優(yōu)化方法
AI大模型的性能優(yōu)化是一個復雜而關鍵的任務,涉及多個方面和策略。以下是一些主要的性能優(yōu)化方法: 一、模型壓縮與優(yōu)化 模型蒸餾(Model D
linux常用性能優(yōu)化方法
占用一個本地端口號(與 TCP 協(xié)議端口號不一樣),相當于一個進程,便于與其它進程進行交互。而Linux內(nèi)核的TCP/IP 協(xié)議實現(xiàn)模塊對本地端口號的范圍進行了限制。當端口號用盡,就會出現(xiàn)這種錯誤了。
MySQL性能優(yōu)化淺析及線上案例
作者:京東健康 孟飛 1、 數(shù)據(jù)庫性能優(yōu)化的意義 業(yè)務發(fā)展初期,數(shù)據(jù)庫中量一般都不高,也不太容易出一些性能問題或者出的問題也不大,但是當數(shù)據(jù)庫的量級達到一定規(guī)模之后,如果缺失有效的預警、監(jiān)控、處理等
如何優(yōu)化Linux服務器的性能
優(yōu)化Linux服務器的性能是一個綜合性的任務,涉及硬件、軟件、配置、監(jiān)控等多個方面。以下是一個詳細的指南,旨在幫助系統(tǒng)管理員和運維人員提升Linux服務器的
Linux服務器性能查看方法
Linux服務器性能查看是系統(tǒng)管理員和開發(fā)人員在日常工作中經(jīng)常需要進行的任務,以確保系統(tǒng)穩(wěn)定運行并優(yōu)化資源使用。以下將詳細介紹多種Linux服務器性
基于望獲實時Linux的高性能運動控制器適配
國科環(huán)宇依托深厚的技術積累與實戰(zhàn)經(jīng)驗,成功推出了基于望獲實時Linux的高性能運動控制器適配方案。該方案不僅保留了Linux的通用性與兼容性,還通過自研的調(diào)度算法、網(wǎng)絡優(yōu)化技術及先進的
OpenHarmony之開機優(yōu)化
對其進行詳細的性能分析,從而優(yōu)化系統(tǒng)啟動速度和運行效率。
三丶開機優(yōu)化
開機優(yōu)化的主要目的是為了快速啟動開機動畫和退出開機動畫(顯示桌面)。
發(fā)表于 07-01 16:39
評論