一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux問(wèn)題分析與性能優(yōu)化

啟揚(yáng)ARM嵌入式開(kāi)發(fā) ? 2021-09-06 19:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

24181880-0e31-11ec-817a-000c2944909e.gif??目錄
    • 排查順序
    • 方法論
    • 性能分析工具
    • CPU分析思路
    • 內(nèi)存分析思路
    • IO分析思路
    • 網(wǎng)絡(luò)分析思路
    • 基準(zhǔn)測(cè)試工具
    • 參考

排查順序

整體情況:
  1. top/htop/atop命令查看進(jìn)程/線程、CPU、內(nèi)存使用情況,CPU使用情況;
  2. dstat 2查看CPU、磁盤IO、網(wǎng)絡(luò)IO、換頁(yè)、中斷、切換,系統(tǒng)I/O狀態(tài);
  3. vmstat 2查看內(nèi)存使用情況,內(nèi)存狀態(tài);
  4. iostat -d -x 2查看所有磁盤的IO情況,系統(tǒng)I/O狀態(tài);
  5. iotop查看IO靠前的進(jìn)程,系統(tǒng)的I/O狀態(tài);
  6. perf top查看占用CPU最多的函數(shù),CPU使用情況;
  7. perf record -ag -- sleep 15;perf report查看CPU事件占比,調(diào)用棧,CPU使用情況;
  8. sar -n DEV 2查看網(wǎng)卡的吞吐,網(wǎng)卡狀態(tài);
  9. /usr/share/bcc/tools/filetop -C查看每個(gè)文件的讀寫(xiě)情況,系統(tǒng)的I/O狀態(tài);
  10. /usr/share/bcc/tools/opensnoop顯示正在被打開(kāi)的文件,系統(tǒng)的I/O狀態(tài);
  11. mpstat -P ALL 1 單核CPU是否被打爆;
  12. ps aux --sort=-%cpu按CPU使用率排序,找出CPU消耗最多進(jìn)程;
  13. 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)計(jì)前20內(nèi)存占用;
  14. 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)計(jì)內(nèi)核前20slab的占用;
進(jìn)程分析,進(jìn)程占用的資源:
  1. pidstat 2 -p 進(jìn)程號(hào)查看可疑進(jìn)程CPU使用率變化情況;
  2. pidstat -w -p 進(jìn)程號(hào) 2查看可疑進(jìn)程的上下文切換情況;
  3. pidstat -d -p 進(jìn)程號(hào) 2查看可疑進(jìn)程的IO情況;
  4. lsof -p 進(jìn)程號(hào)查看進(jìn)程打開(kāi)的文件;
  5. strace -f -T -tt -p 進(jìn)程號(hào)顯示進(jìn)程發(fā)起的系統(tǒng)調(diào)用;
協(xié)議棧分析,連接/協(xié)議棧狀態(tài):
  1. ethtool -S查看網(wǎng)卡硬件情況;
  2. cat/proc/net/softnet_stat/ifconfig eth1 查看網(wǎng)卡驅(qū)動(dòng)情況;
  3. netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n查看連接狀態(tài)分布;
  4. ss -ntp或者netstat -ntp查看連接隊(duì)列;
  5. netstat -s 查看協(xié)議棧情況;

方法論

RED方法:監(jiān)控服務(wù)的請(qǐng)求數(shù)(Rate)、錯(cuò)誤數(shù)(Errors)、響應(yīng)時(shí)間(Duration)。Weave Cloud在監(jiān)控微服務(wù)性能時(shí)提出的思路。USE方法:監(jiān)控系統(tǒng)資源的使用率(Utilization)、飽和度(Saturation)、錯(cuò)誤數(shù)(Errors)。2433e60c-0e31-11ec-9500-000c2944909e.png????

性能分析工具

2441c4e4-0e31-11ec-9a64-000c2944909e.pngLinux 內(nèi)核的各個(gè)子系統(tǒng)出發(fā),匯總了對(duì)各個(gè)子系統(tǒng)進(jìn)行性能分析時(shí),你可以選擇的工具。不過(guò),雖然這個(gè)圖是性能分析最好的參考資料之一,它其實(shí)還不夠具體。比如,當(dāng)你需要查看某個(gè)性能指標(biāo)時(shí),這張圖里對(duì)應(yīng)的子系統(tǒng)部分,可能有多個(gè)性能工具可供選擇。但實(shí)際上,并非所有這些工具都適用,具體要用哪個(gè),還需要你去查找每個(gè)工具的手冊(cè),對(duì)比分析做出選擇。

CPU分析思路

首先,從 CPU 的角度來(lái)說(shuō),主要的性能指標(biāo)就是 CPU 的使用率、上下文切換以及 CPU Cache 的命中率等。下面這張圖就列出了常見(jiàn)的 CPU 性能指標(biāo)。24506a9e-0e31-11ec-b8f3-000c2944909e.png245a7d3a-0e31-11ec-b65f-000c2944909e.png24660e9a-0e31-11ec-97ce-000c2944909e.png???

內(nèi)存分析思路

接著我們來(lái)看內(nèi)存方面。從內(nèi)存的角度來(lái)說(shuō),主要的性能指標(biāo),就是系統(tǒng)內(nèi)存的分配和使用、進(jìn)程內(nèi)存的分配和使用以及 SWAP 的用量。下面這張圖列出了常見(jiàn)的內(nèi)存性能指標(biāo)。24bf7b40-0e31-11ec-b182-000c2944909e.png2502e2c6-0e31-11ec-a3d0-000c2944909e.png???

IO分析思路

從文件系統(tǒng)和磁盤 I/O 的角度來(lái)說(shuō),主要性能指標(biāo),就是文件系統(tǒng)的使用、緩存和緩沖區(qū)的使用,以及磁盤 I/O 的使用率、吞吐量和延遲等。下面這張圖列出了常見(jiàn)的 I/O 性能指標(biāo)。2556d636-0e31-11ec-aa01-000c2944909e.png??257ac046-0e31-11ec-a61f-000c2944909e.png?25afed1c-0e31-11ec-8706-000c2944909e.png????

網(wǎng)絡(luò)分析思路

從網(wǎng)絡(luò)的角度來(lái)說(shuō),主要性能指標(biāo)就是吞吐量、響應(yīng)時(shí)間、連接數(shù)、丟包數(shù)等。根據(jù) TCP/IP 網(wǎng)絡(luò)協(xié)議棧的原理,我們可以把這些性能指標(biāo),進(jìn)一步細(xì)化為每層協(xié)議的具體指標(biāo)。這里我同樣用一張圖,分別從鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層,列出了各層的主要指標(biāo)。25ff5ea6-0e31-11ec-aec2-000c2944909e.png260b295e-0e31-11ec-add0-000c2944909e.png?263baf24-0e31-11ec-a6f8-000c2944909e.png????

基準(zhǔn)測(cè)試工具

除了性能分析外,很多時(shí)候,我們還需要對(duì)系統(tǒng)性能進(jìn)行基準(zhǔn)測(cè)試。比如,
  • 在文件系統(tǒng)和磁盤 I/O 模塊中,我們使用 fio 工具,測(cè)試了磁盤 I/O 的性能。
  • 在網(wǎng)絡(luò)模塊中,我們使用 iperf、pktgen 等,測(cè)試了網(wǎng)絡(luò)的性能。
  • 而在很多基于 Nginx 的案例中,我們則使用 ab、wrk 等,測(cè)試 Nginx 應(yīng)用的性能。
264e4d06-0e31-11ec-8b82-000c2944909e.png

參考

  • 相當(dāng)一部分內(nèi)容來(lái)自極客時(shí)間出品的倪鵬飛專欄《Linux性能優(yōu)化》, 這是之前這個(gè)專欄的學(xué)習(xí)筆記。
  • 另一份資料是IBM紅寶書(shū)Linux性能調(diào)優(yōu)指南。
  • 此外,The Linux Documentation Project是一個(gè)非常好的資料庫(kù)。
  • 將硬件中斷的處理任務(wù)分配個(gè)多個(gè)CPU:SMP affinity and proper interrupt handling in Linux
  • Hidden Costs of Memory Allocation
  • https://www.lijiaocn.com/soft/linux/

END

ARM嵌入式開(kāi)發(fā) · 嵌入式產(chǎn)品與方案

開(kāi)發(fā)板/核心板/主板/整機(jī)

OEM/ODM


原文標(biāo)題:Linux問(wèn)題分析與性能優(yōu)化

文章出處:【微信公眾號(hào):?jiǎn)P(yáng)ARM嵌入式開(kāi)發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213840
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    推進(jìn)電機(jī)端蓋結(jié)構(gòu)的抗沖擊分析優(yōu)化

    。同時(shí)以此為基礎(chǔ),在保證推進(jìn)電機(jī)的抗沖擊性能的約束前提條件下,以提高電機(jī)的轉(zhuǎn)矩密度為目標(biāo),建立了相應(yīng)的數(shù)學(xué)模型和參數(shù)化的有限元模型,對(duì)該結(jié)構(gòu)進(jìn)行了設(shè)計(jì)優(yōu)化,為實(shí)際工程設(shè)計(jì)了奠定基礎(chǔ)。 純分享帖,需要者可點(diǎn)
    發(fā)表于 06-23 07:12

    開(kāi)源系統(tǒng)適配:聚徽分享國(guó)產(chǎn)工控平板在 Linux / 鴻蒙系統(tǒng)下的技術(shù)優(yōu)化

    在工業(yè)自動(dòng)化與智能化加速推進(jìn)的當(dāng)下,國(guó)產(chǎn)工控平板的系統(tǒng)適配成為提升設(shè)備性能與競(jìng)爭(zhēng)力的關(guān)鍵環(huán)節(jié)。Linux 和鴻蒙作為開(kāi)源系統(tǒng),憑借其高度的開(kāi)放性與可定制性,為國(guó)產(chǎn)工控平板帶來(lái)新的發(fā)展機(jī)遇。如何對(duì)國(guó)產(chǎn)
    的頭像 發(fā)表于 06-13 16:29 ?317次閱讀

    鴻蒙5開(kāi)發(fā)寶藏案例分享---Grid性能優(yōu)化案例

    發(fā)現(xiàn)鴻蒙寶藏:優(yōu)化Grid組件性能的實(shí)戰(zhàn)技巧! 大家好呀!最近在鴻蒙開(kāi)發(fā)者社區(qū)挖到一個(gè)超實(shí)用的性能優(yōu)化案例—— 解決Grid組件加載慢、滾動(dòng)卡頓的問(wèn)題 。官方其實(shí)藏了不少寶藏案例,但很
    發(fā)表于 06-12 17:47

    鴻蒙5開(kāi)發(fā)寶藏案例分享---性能優(yōu)化案例解析

    鴻蒙性能優(yōu)化寶藏指南:實(shí)戰(zhàn)工具與代碼案例解析 大家好呀!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),意外挖到一個(gè) 性能優(yōu)化寶藏庫(kù) ——原來(lái)官方早就提供了超多實(shí)用工具和案例,但很多小伙伴可能沒(méi)發(fā)現(xiàn)!這篇就
    發(fā)表于 06-12 16:36

    VirtualLab:光柵的優(yōu)化分析

    光柵是光學(xué)工程師使用的最基本的工具。為了設(shè)計(jì)和分析這類組件,快速物理光學(xué)建模和設(shè)計(jì)軟件VirtualLab Fusion為用戶提供了許多有用的工具。其中包括參數(shù)優(yōu)化,以輕松優(yōu)化系統(tǒng),以及參數(shù)運(yùn)行,它
    發(fā)表于 05-23 08:49

    Linux系統(tǒng)配置優(yōu)化技巧

    應(yīng)用系統(tǒng)跑在操作系統(tǒng)上面,系統(tǒng)的性能也關(guān)系到應(yīng)用程序的性能,這里講一些Linux性能關(guān)鍵的配置信息。
    的頭像 發(fā)表于 03-04 11:27 ?458次閱讀

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-DevEco Profiler性能優(yōu)化過(guò)程

    流程概覽 在開(kāi)發(fā)應(yīng)用時(shí),開(kāi)發(fā)者會(huì)對(duì)應(yīng)用的運(yùn)行情況有一個(gè)預(yù)期的指標(biāo),當(dāng)應(yīng)用在某些方面不能滿足預(yù)期的指標(biāo)或者表現(xiàn)不佳時(shí),意味著您的應(yīng)用可能存在性能問(wèn)題,需要對(duì)應(yīng)用進(jìn)行性能優(yōu)化以達(dá)到您的預(yù)期。應(yīng)用的
    發(fā)表于 02-19 15:28

    VirtualLab Fusion應(yīng)用:光柵的魯棒性分析優(yōu)化

    制造過(guò)程產(chǎn)生的與設(shè)計(jì)參數(shù)的小偏差。請(qǐng)查看下面的文檔,找到我們根據(jù)其填充因子優(yōu)化傾斜光柵的示例。我們使用新發(fā)布的Parameter Variation Analyzer來(lái)執(zhí)行設(shè)置的容差分析,并計(jì)算一個(gè)評(píng)價(jià)
    發(fā)表于 02-19 08:54

    華為云 X 實(shí)例 CPU 性能測(cè)試詳解與優(yōu)化策略

    ? 3.2 CPU性能瓶頸分析 ? 4. CPU性能優(yōu)化策略 ? 4.1 優(yōu)化CPU性能的常用
    的頭像 發(fā)表于 12-30 14:52 ?680次閱讀
    華為云 X 實(shí)例 CPU <b class='flag-5'>性能</b>測(cè)試詳解與<b class='flag-5'>優(yōu)化</b>策略

    如何優(yōu)化emc存儲(chǔ)性能

    性能。 1. 理解存儲(chǔ)架構(gòu) 在進(jìn)行任何優(yōu)化之前,了解你的EMC存儲(chǔ)系統(tǒng)的架構(gòu)是至關(guān)重要的。這包括識(shí)別存儲(chǔ)陣列的型號(hào)、配置、連接的主機(jī)以及存儲(chǔ)網(wǎng)絡(luò)的布局。了解這些基本信息可以幫助你確定可能的性能瓶頸和
    的頭像 發(fā)表于 11-01 15:57 ?989次閱讀

    如何優(yōu)化SOC芯片性能

    優(yōu)化SOC(System on Chip,系統(tǒng)級(jí)芯片)芯片性能是一個(gè)復(fù)雜而多維的任務(wù),涉及多個(gè)方面的優(yōu)化策略。以下是一些關(guān)鍵的優(yōu)化措施: 一、架構(gòu)設(shè)計(jì)
    的頭像 發(fā)表于 10-31 15:50 ?1750次閱讀

    使用Arthas火焰圖工具的Java應(yīng)用性能分析優(yōu)化經(jīng)驗(yàn)

    分享作者在使用Arthas火焰圖工具進(jìn)行Java應(yīng)用性能分析優(yōu)化的經(jīng)驗(yàn)。
    的頭像 發(fā)表于 10-28 09:27 ?1295次閱讀
    使用Arthas火焰圖工具的Java應(yīng)用<b class='flag-5'>性能</b><b class='flag-5'>分析</b>和<b class='flag-5'>優(yōu)化</b>經(jīng)驗(yàn)

    如何優(yōu)化FPGA設(shè)計(jì)的性能

    、延遲、吞吐量等。這些指標(biāo)應(yīng)根據(jù)系統(tǒng)的性能需求和資源限制來(lái)確定。 分析約束 :了解并考慮所有相關(guān)的設(shè)計(jì)約束,如功耗、成本、可制造性等,以確保優(yōu)化方案的實(shí)際可行性。 二、邏輯設(shè)計(jì)優(yōu)化
    的頭像 發(fā)表于 10-25 09:23 ?973次閱讀

    如何優(yōu)化Linux服務(wù)器的性能

    優(yōu)化Linux服務(wù)器的性能是一個(gè)綜合性的任務(wù),涉及硬件、軟件、配置、監(jiān)控等多個(gè)方面。以下是一個(gè)詳細(xì)的指南,旨在幫助系統(tǒng)管理員和運(yùn)維人員提升Linux服務(wù)器的
    的頭像 發(fā)表于 09-29 16:50 ?676次閱讀

    Linux服務(wù)器性能查看方法

    Linux服務(wù)器性能查看是系統(tǒng)管理員和開(kāi)發(fā)人員在日常工作中經(jīng)常需要進(jìn)行的任務(wù),以確保系統(tǒng)穩(wěn)定運(yùn)行并優(yōu)化資源使用。以下將詳細(xì)介紹多種Linux服務(wù)器
    的頭像 發(fā)表于 09-02 11:15 ?1800次閱讀