91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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系統(tǒng)性能瓶頸定位策略

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2026-01-26 17:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

1.1 背景介紹

在實(shí)際生產(chǎn)環(huán)境中,系統(tǒng)性能問(wèn)題往往來(lái)得突然又難以定位。某天下午,你可能會(huì)接到告警:電商平臺(tái)響應(yīng)時(shí)間從平時(shí)的200ms突然飆升到2秒,用戶投訴激增,運(yùn)營(yíng)團(tuán)隊(duì)焦急萬(wàn)分。這時(shí)候,如何快速準(zhǔn)確地找到性能瓶頸,就成了運(yùn)維工程師的核心能力。

性能問(wèn)題的表現(xiàn)形式多種多樣:應(yīng)用響應(yīng)緩慢、頁(yè)面加載卡頓、API接口超時(shí)、數(shù)據(jù)庫(kù)查詢變慢等等。但歸根結(jié)底,這些問(wèn)題通常源于三大系統(tǒng)資源的瓶頸:CPU、內(nèi)存、磁盤(pán)IO。

很多時(shí)候,我們?nèi)菀紫萑?頭痛醫(yī)頭、腳痛醫(yī)腳"的誤區(qū)??吹紺PU使用率高就加CPU,看到內(nèi)存不足就加內(nèi)存,結(jié)果錢花了不少,問(wèn)題依然存在。實(shí)際上,性能優(yōu)化需要系統(tǒng)化的診斷方法,要理解各個(gè)資源之間的關(guān)聯(lián)關(guān)系。比如,磁盤(pán)IO慢可能導(dǎo)致進(jìn)程等待,進(jìn)而引發(fā)CPU的iowait升高;內(nèi)存不足會(huì)觸發(fā)頻繁的頁(yè)面交換,同樣會(huì)拖累磁盤(pán)IO性能。

本文將介紹一套完整的性能診斷方法論,從整體到局部,從現(xiàn)象到本質(zhì),幫助你快速定位系統(tǒng)瓶頸。這套方法基于Linux系統(tǒng)自帶的工具,無(wú)需額外安裝復(fù)雜的監(jiān)控系統(tǒng),就能在生產(chǎn)環(huán)境中快速排查問(wèn)題。

1.2 技術(shù)特點(diǎn)

系統(tǒng)化診斷流程:采用"自頂向下"的分析思路,先看整體資源使用情況,再深入到具體進(jìn)程和線程。避免盲目?jī)?yōu)化,確保每一步都有數(shù)據(jù)支撐。通過(guò)建立性能基線,對(duì)比歷史數(shù)據(jù),能夠快速識(shí)別異常波動(dòng)。

多維度性能指標(biāo):不僅僅關(guān)注CPU使用率、內(nèi)存占用這些表面指標(biāo),更要深入分析上下文切換、緩存命中率、IO等待時(shí)間等深層指標(biāo)。這些指標(biāo)往往能揭示性能問(wèn)題的真正原因。比如,CPU使用率只有50%,但上下文切換頻率極高,說(shuō)明存在嚴(yán)重的線程競(jìng)爭(zhēng)問(wèn)題。

工具鏈完整實(shí)用:Linux系統(tǒng)內(nèi)置了一整套性能分析工具(top、vmstat、iostat、mpstat、pidstat等),這些工具經(jīng)過(guò)多年驗(yàn)證,穩(wěn)定可靠。掌握這些工具的使用方法,就能應(yīng)對(duì)90%以上的性能問(wèn)題。更重要的是,這些工具開(kāi)銷很小,可以在生產(chǎn)環(huán)境中放心使用。

1.3 適用場(chǎng)景

場(chǎng)景一:Web應(yīng)用服務(wù)器性能優(yōu)化典型表現(xiàn)是高并發(fā)時(shí)響應(yīng)時(shí)間顯著增加。比如電商平臺(tái)在促銷活動(dòng)期間,用戶訪問(wèn)量激增,服務(wù)器CPU使用率飆升到90%以上,大量請(qǐng)求超時(shí)。通過(guò)診斷發(fā)現(xiàn),問(wèn)題可能出在應(yīng)用線程池配置不合理,導(dǎo)致頻繁的上下文切換;也可能是某個(gè)接口存在性能問(wèn)題,占用了大量CPU資源。診斷重點(diǎn)包括:CPU各核心的使用分布、進(jìn)程和線程的CPU占用、系統(tǒng)調(diào)用開(kāi)銷、上下文切換頻率等。優(yōu)化方向可能是調(diào)整線程池大小、優(yōu)化代碼邏輯、增加緩存、或者進(jìn)行水平擴(kuò)展。

場(chǎng)景二:數(shù)據(jù)庫(kù)服務(wù)器瓶頸定位數(shù)據(jù)庫(kù)是很多系統(tǒng)的核心,一旦出現(xiàn)性能問(wèn)題,影響面會(huì)非常大。常見(jiàn)表現(xiàn)是查詢變慢、事務(wù)堆積、連接數(shù)打滿。通過(guò)診斷可能發(fā)現(xiàn):磁盤(pán)IO性能不足,大量慢查詢導(dǎo)致磁盤(pán)讀寫(xiě)壓力大;內(nèi)存配置不當(dāng),緩沖池太小導(dǎo)致緩存命中率低;或者是CPU瓶頸,復(fù)雜查詢消耗大量計(jì)算資源。診斷重點(diǎn)包括:磁盤(pán)IO的吞吐量和延遲、內(nèi)存緩沖池的使用情況、慢查詢?nèi)罩痉治?、鎖等待情況等。優(yōu)化方向可能是添加索引、優(yōu)化查詢語(yǔ)句、調(diào)整數(shù)據(jù)庫(kù)配置參數(shù)、升級(jí)硬件(特別是使用SSD替換機(jī)械硬盤(pán))。

場(chǎng)景三:批處理任務(wù)性能分析很多企業(yè)都有定時(shí)運(yùn)行的批處理任務(wù),比如數(shù)據(jù)同步、報(bào)表生成、日志分析等。這類任務(wù)的特點(diǎn)是運(yùn)行時(shí)間長(zhǎng)、資源占用集中。如果任務(wù)執(zhí)行時(shí)間從原來(lái)的1小時(shí)增加到4小時(shí),就需要分析是哪個(gè)環(huán)節(jié)出了問(wèn)題??赡苁荂PU密集型任務(wù)(如數(shù)據(jù)計(jì)算、加密解密),也可能是IO密集型任務(wù)(如大文件讀寫(xiě)、數(shù)據(jù)庫(kù)批量插入)。診斷重點(diǎn)包括:任務(wù)的資源使用特征、是否存在資源競(jìng)爭(zhēng)、磁盤(pán)IO模式(順序讀寫(xiě)還是隨機(jī)讀寫(xiě))等。優(yōu)化方向可能是并行處理、調(diào)整IO調(diào)度策略、使用更快的存儲(chǔ)設(shè)備、或者優(yōu)化算法減少計(jì)算量。

1.4 環(huán)境要求

組件 版本要求 說(shuō)明
操作系統(tǒng) CentOS 7+/Ubuntu 18.04+/Debian 10+ 需要支持systemd和現(xiàn)代Linux內(nèi)核特性
內(nèi)核版本 Linux 4.4+ 較新的內(nèi)核提供了更完善的性能監(jiān)控接口
sysstat工具包 11.0+ 包含iostat、mpstat、pidstat等核心工具
權(quán)限要求 root或sudo權(quán)限 部分診斷命令需要提升權(quán)限才能查看完整信息
硬件配置 無(wú)特殊要求 本文方法適用于任何規(guī)模的Linux系統(tǒng)

二、詳細(xì)步驟

2.1 準(zhǔn)備工作

2.1.1 系統(tǒng)檢查

在開(kāi)始性能診斷之前,需要先了解系統(tǒng)的基本配置信息,建立一個(gè)清晰的認(rèn)知基礎(chǔ)。

# 查看系統(tǒng)版本和內(nèi)核信息
cat /etc/os-release
uname -a

# 查看CPU信息
lscpu
nproc # 快速查看CPU核心數(shù)

# 查看內(nèi)存信息
free -h
cat /proc/meminfo | head -20

# 查看磁盤(pán)信息
df -h
lsblk

說(shuō)明:這些命令幫助我們了解硬件配置的基本情況。比如,一個(gè)8核16G內(nèi)存的服務(wù)器和一個(gè)2核4G的服務(wù)器,性能診斷的關(guān)注點(diǎn)會(huì)有很大不同。CPU核心數(shù)決定了系統(tǒng)的并行處理能力,內(nèi)存大小影響緩存策略,磁盤(pán)類型(SSD還是HDD)直接關(guān)系到IO性能。

2.1.2 安裝依賴工具

大部分Linux發(fā)行版默認(rèn)已經(jīng)安裝了基礎(chǔ)的性能工具,但sysstat包可能需要手動(dòng)安裝。

# Ubuntu/Debian系統(tǒng)
sudo apt update
sudo apt install -y sysstat

# CentOS/RHEL系統(tǒng)
sudo yum install -y sysstat

# 驗(yàn)證安裝
iostat -V
mpstat -V
pidstat -V

工具說(shuō)明

top/htop:實(shí)時(shí)查看進(jìn)程資源占用,系統(tǒng)自帶

vmstat:虛擬內(nèi)存統(tǒng)計(jì),查看系統(tǒng)整體性能

iostat:磁盤(pán)IO性能分析,來(lái)自sysstat包

mpstat:多處理器統(tǒng)計(jì),分析每個(gè)CPU核心的使用情況

pidstat:進(jìn)程級(jí)性能統(tǒng)計(jì),精確定位問(wèn)題進(jìn)程

這些工具的共同特點(diǎn)是:輕量級(jí)、開(kāi)銷小、輸出直觀。在生產(chǎn)環(huán)境中使用不會(huì)對(duì)系統(tǒng)造成明顯影響。

2.2 CPU性能診斷

2.2.1 快速查看CPU整體狀況

當(dāng)接到性能告警時(shí),第一步是快速了解CPU的整體使用情況。

# 使用top查看實(shí)時(shí)CPU使用情況
top

# 或者使用uptime查看系統(tǒng)負(fù)載
uptime

# 查看CPU平均負(fù)載
cat /proc/loadavg

輸出示例

top - 1415 up 45 days, 3:21, 2 users, load average: 4.52, 3.89, 2.76
Tasks: 245 total,  3 running, 242 sleeping,  0 stopped,  0 zombie
%Cpu(s): 78.5 us, 12.3 sy, 0.0 ni, 5.2 id, 3.8 wa, 0.0 hi, 0.2 si, 0.0 st

關(guān)鍵指標(biāo)解讀

load average:系統(tǒng)平均負(fù)載,三個(gè)數(shù)字分別代表1分鐘、5分鐘、15分鐘的平均值。一般來(lái)說(shuō),負(fù)載值不應(yīng)超過(guò)CPU核心數(shù)。如果是8核CPU,負(fù)載長(zhǎng)期超過(guò)8就需要關(guān)注了。

us(user):用戶空間CPU使用率,應(yīng)用程序消耗的CPU

sy(system):內(nèi)核空間CPU使用率,系統(tǒng)調(diào)用消耗的CPU

id(idle):空閑CPU百分比

wa(iowait):等待IO的CPU時(shí)間,這個(gè)值高說(shuō)明磁盤(pán)IO可能是瓶頸

實(shí)戰(zhàn)經(jīng)驗(yàn):如果看到iowait超過(guò)20%,基本可以判斷是磁盤(pán)IO問(wèn)題,而不是CPU計(jì)算能力不足。這時(shí)候繼續(xù)優(yōu)化CPU是沒(méi)用的,應(yīng)該轉(zhuǎn)向磁盤(pán)IO診斷。

2.2.2 查看每個(gè)CPU核心的使用情況

現(xiàn)代服務(wù)器都是多核CPU,有時(shí)候會(huì)出現(xiàn)負(fù)載不均衡的情況,某些核心跑滿了,其他核心卻很空閑。

# 查看每個(gè)CPU核心的使用率
mpstat -P ALL 1 5

# 或者使用top然后按1鍵查看各核心情況

輸出示例

1430   CPU  %usr  %nice  %sys %iowait  %irq  %soft %steal %guest %gnice  %idle
1431   all  45.23  0.00  10.52  2.15  0.00  0.25  0.00  0.00  0.00  41.85
1431    0  89.00  0.00  11.00  0.00  0.00  0.00  0.00  0.00  0.00  0.00
1431    1  42.00  0.00  8.00  5.00  0.00  1.00  0.00  0.00  0.00  44.00
1431    2  38.00  0.00  12.00  3.00  0.00  0.00  0.00  0.00  0.00  47.00
1431    3  12.00  0.00  5.00  1.00  0.00  0.00  0.00  0.00  0.00  82.00

分析要點(diǎn):上面的例子中,CPU 0的使用率達(dá)到89%,而CPU 3只有18%,說(shuō)明負(fù)載分布不均。這可能是因?yàn)椋?/p>

應(yīng)用程序是單線程的,無(wú)法利用多核

進(jìn)程CPU親和性設(shè)置不當(dāng),綁定到了特定核心

某個(gè)進(jìn)程占用了大量CPU資源

2.2.3 定位高CPU占用的進(jìn)程

找到了CPU使用率高,下一步就是定位具體是哪個(gè)進(jìn)程在消耗CPU。

# 使用top查看進(jìn)程CPU占用,按P鍵按CPU排序
top

# 或者使用ps命令
ps aux --sort=-%cpu | head -10

# 使用pidstat查看進(jìn)程CPU使用情況(推薦)
pidstat -u 1 5

pidstat輸出示例

1415   UID    PID  %usr %system %guest  %wait  %CPU  CPU Command
1416    0   1234  85.00  10.00  0.00  0.00  95.00   0 java
1416   1000   5678  12.00  3.00  0.00  0.00  15.00   1 nginx
1416    0   9012  8.00  2.00  0.00  0.00  10.00   2 mysqld

說(shuō)明:從上面可以看到,PID為1234的java進(jìn)程占用了95%的CPU,這就是需要重點(diǎn)關(guān)注的對(duì)象。

2.2.4 分析上下文切換

CPU使用率不高,但系統(tǒng)響應(yīng)慢?可能是上下文切換過(guò)于頻繁。

# 使用vmstat查看上下文切換
vmstat 1 5

# 查看每個(gè)進(jìn)程的上下文切換情況
pidstat -w 1 5

vmstat輸出示例

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b  swpd  free  buff cache  si  so  bi  bo in cs us sy id wa st
4 0   0 512340 89532 1024576  0  0   2  15 2500 45000 45 10 43 2 0

關(guān)鍵指標(biāo)

cs(context switch):每秒上下文切換次數(shù)。正常情況下幾千到一萬(wàn)次,如果超過(guò)5萬(wàn)次就需要關(guān)注

in(interrupts):每秒中斷次數(shù)

實(shí)戰(zhàn)案例:某電商平臺(tái)在促銷期間,應(yīng)用響應(yīng)變慢,CPU使用率只有60%。通過(guò)vmstat發(fā)現(xiàn)cs值達(dá)到8萬(wàn)次/秒,遠(yuǎn)超正常水平。進(jìn)一步排查發(fā)現(xiàn)是應(yīng)用線程池配置過(guò)大(500個(gè)線程),導(dǎo)致大量線程競(jìng)爭(zhēng)CPU,頻繁切換。將線程池調(diào)整為100后,上下文切換降到2萬(wàn)次/秒,響應(yīng)時(shí)間恢復(fù)正常。

2.3 內(nèi)存性能診斷

2.3.1 查看內(nèi)存使用概況

內(nèi)存問(wèn)題往往比CPU問(wèn)題更隱蔽,但影響更嚴(yán)重。一旦內(nèi)存不足觸發(fā)swap,系統(tǒng)性能會(huì)斷崖式下降。

# 查看內(nèi)存使用情況
free -h

# 查看詳細(xì)內(nèi)存信息
cat /proc/meminfo | head -30

# 使用vmstat查看內(nèi)存和swap情況
vmstat 1 5

free命令輸出示例

       total    used    free   shared buff/cache  available
Mem:      15Gi    8.2Gi    1.5Gi    256Mi    5.8Gi    6.5Gi
Swap:     2.0Gi    512Mi    1.5Gi

關(guān)鍵指標(biāo)解讀

total:總內(nèi)存大小

used:已使用內(nèi)存(不包括buff/cache)

free:完全空閑的內(nèi)存

buff/cache:用于緩沖和緩存的內(nèi)存,可以被回收

available:真正可用的內(nèi)存,這是最重要的指標(biāo)

Swap used:交換分區(qū)使用量,如果這個(gè)值不為0,說(shuō)明內(nèi)存已經(jīng)不夠用了

重要提示:很多人看到used很高就以為內(nèi)存不足,其實(shí)不然。Linux會(huì)盡可能利用空閑內(nèi)存做緩存,這是正常的。真正需要關(guān)注的是available這一列,只要這個(gè)值足夠大,系統(tǒng)就不會(huì)有內(nèi)存壓力。

2.3.2 識(shí)別內(nèi)存泄漏

內(nèi)存泄漏是Web應(yīng)用常見(jiàn)的問(wèn)題,表現(xiàn)為內(nèi)存使用持續(xù)增長(zhǎng),最終導(dǎo)致OOM(Out of Memory)。

# 查看進(jìn)程內(nèi)存占用排序
ps aux --sort=-%mem | head -10

# 使用pidstat查看進(jìn)程內(nèi)存使用
pidstat -r 1 5

# 查看進(jìn)程的詳細(xì)內(nèi)存映射
pmap -x 

pidstat輸出示例

1420   UID    PID minflt/s majflt/s   VSZ   RSS  %MEM Command
1421    0   1234  125.00   0.00 8192000 4096000 25.60 java
1421   1000   5678   45.00   0.00 2048000  512000  3.20 nginx

關(guān)鍵指標(biāo)

VSZ:虛擬內(nèi)存大小,進(jìn)程申請(qǐng)的總內(nèi)存

RSS:實(shí)際物理內(nèi)存占用,這是真正消耗的內(nèi)存

%MEM:內(nèi)存占用百分比

minflt/s:每秒次缺頁(yè)錯(cuò)誤(minor page fault),從緩存中加載頁(yè)面

majflt/s:每秒主缺頁(yè)錯(cuò)誤(major page fault),需要從磁盤(pán)加載,這個(gè)值高說(shuō)明內(nèi)存不足

診斷內(nèi)存泄漏的方法

# 持續(xù)監(jiān)控某個(gè)進(jìn)程的內(nèi)存使用
watch -n 5"ps aux | grep java | grep -v grep"

# 或者使用腳本記錄內(nèi)存變化
whiletrue;do
  date >> mem_monitor.log
  ps aux | grep java | grep -v grep >> mem_monitor.log
  sleep 60
done

如果發(fā)現(xiàn)RSS持續(xù)增長(zhǎng),幾個(gè)小時(shí)內(nèi)從2G漲到8G,基本可以確定存在內(nèi)存泄漏。

2.3.3 監(jiān)控頁(yè)面交換(Swap)

Swap是內(nèi)存不足時(shí)的救命稻草,但也是性能殺手。一旦開(kāi)始頻繁swap,系統(tǒng)性能會(huì)急劇下降。

# 查看swap使用情況
free -h | grep Swap

# 使用vmstat監(jiān)控swap活動(dòng)
vmstat 1 10

# 查看哪些進(jìn)程在使用swap
forfilein/proc/*/status;do
  awk'/VmSwap|Name/{printf $2 " " $3}END{ print ""}'$file
done| sort -k 2 -n -r | head -10

vmstat關(guān)鍵指標(biāo)

procs -----------memory---------- ---swap-- -----io----
r b  swpd  free  buff cache  si  so  bi  bo
2 1 524288 102400 45120 512000 120 250  50  100

si(swap in):每秒從swap讀入內(nèi)存的數(shù)據(jù)量(KB)

so(swap out):每秒從內(nèi)存寫(xiě)入swap的數(shù)據(jù)量(KB)

判斷標(biāo)準(zhǔn):如果si和so的值持續(xù)不為0,說(shuō)明系統(tǒng)在頻繁進(jìn)行頁(yè)面交換,這是嚴(yán)重的性能問(wèn)題信號(hào)。

實(shí)戰(zhàn)案例:某社交平臺(tái)的應(yīng)用服務(wù)器,用戶反饋?lái)?yè)面加載極慢。通過(guò)free命令發(fā)現(xiàn)swap使用了1.5G,vmstat顯示si和so值分別為200和150。進(jìn)一步排查發(fā)現(xiàn)是Java應(yīng)用的堆內(nèi)存配置過(guò)大(-Xmx12G),而服務(wù)器總內(nèi)存只有16G,導(dǎo)致系統(tǒng)內(nèi)存不足。將堆內(nèi)存調(diào)整為8G后,swap使用降為0,頁(yè)面響應(yīng)恢復(fù)正常。

2.4 磁盤(pán)IO性能診斷

2.4.1 查看磁盤(pán)IO整體狀況

磁盤(pán)IO是很多性能問(wèn)題的根源,特別是使用機(jī)械硬盤(pán)的服務(wù)器。

# 查看磁盤(pán)IO統(tǒng)計(jì)
iostat -x 1 5

# 查看磁盤(pán)使用情況
df -h

# 查看磁盤(pán)分區(qū)信息
lsblk

iostat輸出示例

Device      r/s   w/s   rkB/s   wkB/s  await %util
sda       45.20  120.50  1024.00  4096.00  25.30 85.60
sdb       2.10   5.30   64.00  128.00  5.20 12.40

關(guān)鍵指標(biāo)解讀

r/s:每秒讀操作次數(shù)

w/s:每秒寫(xiě)操作次數(shù)

rkB/s:每秒讀取的數(shù)據(jù)量(KB)

wkB/s:每秒寫(xiě)入的數(shù)據(jù)量(KB)

await:平均IO等待時(shí)間(毫秒),這是最關(guān)鍵的指標(biāo)

%util:磁盤(pán)使用率,接近100%說(shuō)明磁盤(pán)已經(jīng)飽和

判斷標(biāo)準(zhǔn)

await < 10ms:性能良好(SSD)

await 10-20ms:可以接受

await > 50ms:存在明顯IO瓶頸

%util > 80%:磁盤(pán)接近飽和

2.4.2 定位高IO進(jìn)程

找到磁盤(pán)IO瓶頸后,需要定位是哪個(gè)進(jìn)程在進(jìn)行大量IO操作。

# 使用pidstat查看進(jìn)程IO情況
pidstat -d 1 5

# 使用iotop實(shí)時(shí)查看進(jìn)程IO(需要安裝)
sudo iotop -o

# 查看進(jìn)程打開(kāi)的文件
lsof -p 

pidstat輸出示例

1520   UID    PID  kB_rd/s  kB_wr/s Command
1521    0   1234   0.00  8192.00 java
1521   999   5678  2048.00  512.00 mysqld

說(shuō)明:從上面可以看到,PID 1234的java進(jìn)程每秒寫(xiě)入8MB數(shù)據(jù),這可能是日志寫(xiě)入或數(shù)據(jù)持久化操作。

2.4.3 分析IO模式

不同的IO模式對(duì)性能影響差異很大。順序IO性能遠(yuǎn)高于隨機(jī)IO。

# 查看IO調(diào)度器
cat /sys/block/sda/queue/scheduler

# 查看磁盤(pán)隊(duì)列深度
cat /sys/block/sda/queue/nr_requests

# 使用iostat查看詳細(xì)IO統(tǒng)計(jì)
iostat -x -d 1 5

實(shí)戰(zhàn)案例:某內(nèi)容平臺(tái)的靜態(tài)資源服務(wù)器,用戶反饋圖片加載緩慢。通過(guò)iostat發(fā)現(xiàn)sda的await達(dá)到120ms,%util為95%。使用pidstat定位到nginx進(jìn)程IO很高。進(jìn)一步分析發(fā)現(xiàn)是大量小文件的隨機(jī)讀取導(dǎo)致磁盤(pán)IO瓶頸。解決方案是:1)將靜態(tài)資源遷移到SSD;2)啟用nginx的open_file_cache緩存文件句柄;3)使用CDN分流。優(yōu)化后await降到15ms,頁(yè)面加載速度提升5倍。

三、示例代碼和配置

3.1 完整診斷腳本

3.1.1 一鍵性能診斷腳本

這個(gè)腳本可以快速收集系統(tǒng)的CPU、內(nèi)存、磁盤(pán)IO等關(guān)鍵性能指標(biāo)。

#!/bin/bash
# 文件名:perf_check.sh
# 功能:系統(tǒng)性能快速診斷工具

echo"========================================="
echo"系統(tǒng)性能診斷報(bào)告"
echo"時(shí)間:$(date '+%Y-%m-%d %H:%M:%S')"
echo"========================================="
echo""

# 1. 系統(tǒng)基本信息
echo"【系統(tǒng)信息】"
echo"主機(jī)名:$(hostname)"
echo"內(nèi)核版本:$(uname -r)"
echo"運(yùn)行時(shí)間:$(uptime | awk -F'up ' '{print $2}' | awk -F',' '{print $1}')"
echo""

# 2. CPU信息
echo"【CPU信息】"
echo"CPU核心數(shù):$(nproc)"
echo"系統(tǒng)負(fù)載:$(uptime | awk -F'load average:' '{print $2}')"
echo""
echo"CPU使用率(最近5秒平均):"
mpstat 1 5 | tail -1
echo""

# 3. 內(nèi)存信息
echo"【內(nèi)存信息】"
free -h
echo""
echo"Swap使用情況:"
swapon --show
echo""

# 4. 磁盤(pán)IO信息
echo"【磁盤(pán)IO信息】"
iostat -x 1 3 | grep -E"Device|sd"
echo""

# 5. TOP進(jìn)程
echo"【CPU占用TOP5進(jìn)程】"
ps aux --sort=-%cpu | head -6
echo""

echo"【內(nèi)存占用TOP5進(jìn)程】"
ps aux --sort=-%mem | head -6
echo""

echo"========================================="
echo"診斷完成"
echo"========================================="

使用方法

chmod +x perf_check.sh
./perf_check.sh

3.2 實(shí)際應(yīng)用案例

案例一:電商平臺(tái)高峰期CPU瓶頸

場(chǎng)景描述:某電商平臺(tái)在雙11促銷期間,下午2點(diǎn)開(kāi)始用戶反饋?lái)?yè)面響應(yīng)極慢,訂單提交失敗率激增。監(jiān)控顯示應(yīng)用服務(wù)器響應(yīng)時(shí)間從平時(shí)的200ms飆升到2000ms以上。

診斷過(guò)程

快速查看系統(tǒng)負(fù)載

uptime
# 輸出:load average: 12.5, 10.8, 8.3
# 服務(wù)器是8核CPU,負(fù)載超過(guò)12說(shuō)明有問(wèn)題

查看CPU使用情況

top
# 發(fā)現(xiàn)CPU使用率達(dá)到95%,其中us占85%,sy占10%

定位高CPU進(jìn)程

pidstat -u 1 5
# 發(fā)現(xiàn)tomcat進(jìn)程(PID 1234)占用CPU 780%(多線程累加)

分析上下文切換

vmstat 1 5
# cs值達(dá)到85000次/秒,遠(yuǎn)超正常水平

查看線程數(shù)

ps -eLf | grep java | wc -l
# 輸出:512個(gè)線程

問(wèn)題根因:應(yīng)用配置的線程池過(guò)大(maxThreads=500),在高并發(fā)下導(dǎo)致大量線程競(jìng)爭(zhēng)CPU,頻繁的上下文切換反而降低了吞吐量。

解決方案

# 1. 調(diào)整Tomcat配置
vim /opt/tomcat/conf/server.xml
# 修改:maxThreads="500" -> maxThreads="200"
# 修改:acceptCount="100" -> acceptCount="200"

# 2. 重啟應(yīng)用
systemctl restart tomcat

# 3. 驗(yàn)證效果
vmstat 1 10
# cs值降到25000次/秒
# CPU使用率降到70%,但響應(yīng)時(shí)間恢復(fù)到300ms

優(yōu)化效果

上下文切換從85000次/秒降到25000次/秒

CPU使用率從95%降到70%

響應(yīng)時(shí)間從2000ms恢復(fù)到300ms

訂單成功率從60%提升到98%

案例二:社交平臺(tái)內(nèi)存泄漏導(dǎo)致OOM

場(chǎng)景描述:某社交平臺(tái)的API服務(wù)器,每隔2-3天就會(huì)自動(dòng)重啟一次,查看日志發(fā)現(xiàn)是Java進(jìn)程O(píng)OM(Out of Memory)。用戶在高峰期經(jīng)常遇到503錯(cuò)誤。

診斷過(guò)程

查看內(nèi)存使用情況

free -h
# 發(fā)現(xiàn)可用內(nèi)存只有200MB,swap使用了1.8G

監(jiān)控進(jìn)程內(nèi)存變化

# 每小時(shí)記錄一次內(nèi)存使用
whiletrue;do
 echo"$(date)-$(ps aux | grep java | grep -v grep | awk '{print $6}')">> mem_track.log
  sleep 3600
done

分析內(nèi)存增長(zhǎng)趨勢(shì)

cat mem_track.log
# 發(fā)現(xiàn)RSS從啟動(dòng)時(shí)的2G,12小時(shí)后增長(zhǎng)到14G

檢查swap使用

vmstat 1 10
# si和so值持續(xù)不為0,說(shuō)明在頻繁swap

問(wèn)題根因:應(yīng)用存在內(nèi)存泄漏,長(zhǎng)時(shí)間運(yùn)行后內(nèi)存持續(xù)增長(zhǎng),最終觸發(fā)OOM。同時(shí)JVM堆內(nèi)存配置過(guò)大(-Xmx12G),在16G內(nèi)存的服務(wù)器上留給系統(tǒng)的空間太少。

解決方案

# 1. 調(diào)整JVM參數(shù)
vim /opt/app/bin/startup.sh
# 修改:-Xmx12G -Xms12G -> -Xmx8G -Xms8G
# 添加:-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/

# 2. 禁用swap(臨時(shí)措施)
sudo swapoff -a

# 3. 重啟應(yīng)用并持續(xù)監(jiān)控
systemctl restart app
watch -n 300"free -h && ps aux | grep java"

后續(xù)優(yōu)化:通過(guò)分析heap dump文件,發(fā)現(xiàn)是緩存對(duì)象沒(méi)有正確釋放導(dǎo)致的內(nèi)存泄漏。修復(fù)代碼后,內(nèi)存使用穩(wěn)定在6G左右,不再增長(zhǎng)。

四、最佳實(shí)踐和注意事項(xiàng)

4.1 最佳實(shí)踐

4.1.1 性能優(yōu)化建議

CPU優(yōu)化

合理配置線程池大小,一般設(shè)置為CPU核心數(shù)的1-2倍

避免在高并發(fā)場(chǎng)景使用synchronized,考慮使用Lock或無(wú)鎖數(shù)據(jù)結(jié)構(gòu)

使用CPU親和性綁定關(guān)鍵進(jìn)程到特定核心

# 將進(jìn)程綁定到CPU 0-3
taskset -cp 0-3 

內(nèi)存優(yōu)化

JVM堆內(nèi)存不要超過(guò)物理內(nèi)存的75%,留足夠空間給操作系統(tǒng)

監(jiān)控內(nèi)存使用趨勢(shì),及時(shí)發(fā)現(xiàn)內(nèi)存泄漏

合理配置swappiness參數(shù)

# 降低swap傾向(推薦值10)
echo10 | sudo tee /proc/sys/vm/swappiness
# 永久生效
echo"vm.swappiness=10"| sudo tee -a /etc/sysctl.conf
sudo sysctl -p

磁盤(pán)IO優(yōu)化

優(yōu)先使用SSD,性能提升10倍以上

調(diào)整IO調(diào)度器,SSD使用noop或none,HDD使用deadline

# 查看當(dāng)前調(diào)度器
cat /sys/block/sda/queue/scheduler

# 修改為deadline
echodeadline | sudo tee /sys/block/sda/queue/scheduler

啟用文件系統(tǒng)緩存,減少磁盤(pán)訪問(wèn)

對(duì)于數(shù)據(jù)庫(kù),考慮將數(shù)據(jù)文件和日志文件放在不同磁盤(pán)

4.2 注意事項(xiàng)

4.2.1 診斷工具使用注意事項(xiàng)

采樣頻率不宜過(guò)高

iostat、vmstat等工具的采樣間隔建議不低于1秒

過(guò)于頻繁的采樣會(huì)增加系統(tǒng)開(kāi)銷,影響診斷結(jié)果的準(zhǔn)確性

生產(chǎn)環(huán)境建議使用1-5秒的采樣間隔

正確理解指標(biāo)含義

CPU使用率高不一定是問(wèn)題,要結(jié)合業(yè)務(wù)負(fù)載判斷

內(nèi)存used高是正常的,Linux會(huì)充分利用內(nèi)存做緩存

關(guān)注available而不是free

swap使用不為0不一定有問(wèn)題,但si/so持續(xù)不為0就需要關(guān)注

避免過(guò)度優(yōu)化

不要為了優(yōu)化而優(yōu)化,要有明確的性能目標(biāo)

優(yōu)化前后要有數(shù)據(jù)對(duì)比,證明優(yōu)化有效

有些"優(yōu)化"可能會(huì)降低系統(tǒng)穩(wěn)定性

4.2.2 常見(jiàn)錯(cuò)誤

錯(cuò)誤現(xiàn)象 原因分析 解決方案
iostat命令不存在 sysstat包未安裝 sudo apt install sysstat 或 yum install sysstat
pidstat顯示權(quán)限不足 需要root權(quán)限查看其他用戶進(jìn)程 使用sudo執(zhí)行命令
top顯示內(nèi)存使用超100% 包含了共享內(nèi)存的重復(fù)計(jì)算 查看RES列而不是VIRT列
vmstat的si/so一直為0 采樣間隔過(guò)長(zhǎng)或系統(tǒng)確實(shí)沒(méi)有swap 減少采樣間隔或檢查swap是否啟用
mpstat顯示CPU使用率之和超100% 多核CPU的累加值 查看單個(gè)CPU的使用率或平均值

五、故障排查和監(jiān)控

5.1 快速排查流程

當(dāng)接到性能告警時(shí),按照以下流程快速定位問(wèn)題:

第一步:確認(rèn)問(wèn)題現(xiàn)象

# 查看系統(tǒng)負(fù)載和運(yùn)行時(shí)間
uptime

# 快速查看資源使用情況
top

第二步:判斷瓶頸類型

# 如果CPU iowait高(>20%),是IO問(wèn)題
# 如果CPU使用率高(>80%),是CPU問(wèn)題
# 如果有swap活動(dòng),是內(nèi)存問(wèn)題
vmstat 1 5

第三步:定位問(wèn)題進(jìn)程

# CPU問(wèn)題
pidstat -u 1 5

# 內(nèi)存問(wèn)題
pidstat -r 1 5

# IO問(wèn)題
pidstat -d 1 5

第四步:深入分析

CPU問(wèn)題:檢查線程數(shù)、上下文切換、是否有死循環(huán)

內(nèi)存問(wèn)題:檢查是否內(nèi)存泄漏、配置是否合理

IO問(wèn)題:檢查IO模式、磁盤(pán)類型、是否需要優(yōu)化

5.2 性能監(jiān)控指標(biāo)

建議監(jiān)控的關(guān)鍵指標(biāo)及告警閾值:

指標(biāo)類別 指標(biāo)名稱 正常范圍 告警閾值 說(shuō)明
CPU 使用率 30-70% >85% 持續(xù)高于85%需要優(yōu)化
CPU 負(fù)載 <核心數(shù) >核心數(shù)*1.5 1分鐘負(fù)載超過(guò)核心數(shù)1.5倍
CPU 上下文切換 <20000/s >50000/s 過(guò)高說(shuō)明線程競(jìng)爭(zhēng)激烈
內(nèi)存 可用內(nèi)存 >20% <10% available低于總內(nèi)存10%
內(nèi)存 Swap使用 0 >0且持續(xù)增長(zhǎng) 任何swap活動(dòng)都需要關(guān)注
磁盤(pán) IO等待 <10ms >50ms 超過(guò)50ms說(shuō)明IO瓶頸
磁盤(pán) 使用率 <80% >90% 磁盤(pán)空間不足
磁盤(pán) %util <60% >85% 磁盤(pán)接近飽和

六、總結(jié)

6.1 技術(shù)要點(diǎn)回顧

系統(tǒng)化診斷方法:從整體到局部,先看top/uptime了解全局,再用mpstat/pidstat定位具體問(wèn)題,最后深入分析

CPU診斷核心:關(guān)注使用率、負(fù)載、iowait、上下文切換四個(gè)維度,不要只看使用率

內(nèi)存診斷核心:重點(diǎn)看available而不是free,監(jiān)控swap活動(dòng),及時(shí)發(fā)現(xiàn)內(nèi)存泄漏

磁盤(pán)IO診斷核心:await和%util是關(guān)鍵指標(biāo),區(qū)分順序IO和隨機(jī)IO,SSD和HDD的優(yōu)化策略不同

6.2 進(jìn)階學(xué)習(xí)方向

深入學(xué)習(xí)性能分析工具

學(xué)習(xí)perf、strace、ltrace等高級(jí)工具

掌握火焰圖(Flame Graph)的使用

了解eBPF技術(shù)在性能分析中的應(yīng)用

應(yīng)用層性能優(yōu)化

Java應(yīng)用的JVM調(diào)優(yōu)

數(shù)據(jù)庫(kù)查詢優(yōu)化和索引設(shè)計(jì)

緩存策略和CDN使用

系統(tǒng)架構(gòu)優(yōu)化

負(fù)載均衡和水平擴(kuò)展

微服務(wù)架構(gòu)下的性能優(yōu)化

容器化環(huán)境的性能監(jiān)控

6.3 參考資料

Linux Performance- Brendan Gregg的性能分析資源

sysstat官方文檔- iostat、mpstat等工具的詳細(xì)說(shuō)明

Linux內(nèi)核文檔- /proc文件系統(tǒng)和性能相關(guān)接口

性能之巔- 系統(tǒng)性能優(yōu)化經(jīng)典書(shū)籍

附錄

A. 命令速查表

# CPU相關(guān)
top             # 實(shí)時(shí)查看進(jìn)程資源占用
uptime           # 查看系統(tǒng)負(fù)載
mpstat -P ALL 1 5     # 查看每個(gè)CPU核心使用率
pidstat -u 1 5       # 查看進(jìn)程CPU使用情況
vmstat 1 5         # 查看系統(tǒng)整體性能和上下文切換

# 內(nèi)存相關(guān)
free -h          # 查看內(nèi)存使用情況
vmstat 1 5         # 查看內(nèi)存和swap活動(dòng)
pidstat -r 1 5       # 查看進(jìn)程內(nèi)存使用
ps aux --sort=-%mem | head # 按內(nèi)存排序查看進(jìn)程

# 磁盤(pán)IO相關(guān)
iostat -x 1 5       # 查看磁盤(pán)IO統(tǒng)計(jì)
pidstat -d 1 5       # 查看進(jìn)程IO情況
df -h           # 查看磁盤(pán)空間使用
lsblk           # 查看磁盤(pán)分區(qū)信息

# 綜合診斷
dmesg | tail        # 查看內(nèi)核日志
lsof -p        # 查看進(jìn)程打開(kāi)的文件
strace -p       # 跟蹤進(jìn)程系統(tǒng)調(diào)用

B. 性能基線參考值

8核16G內(nèi)存服務(wù)器(Web應(yīng)用)

CPU使用率:40-60%

系統(tǒng)負(fù)載:4-6

可用內(nèi)存:4-6G

磁盤(pán)IO await:<20ms(SSD)

上下文切換:10000-20000/s

16核32G內(nèi)存服務(wù)器(數(shù)據(jù)庫(kù))

CPU使用率:50-70%

系統(tǒng)負(fù)載:8-12

可用內(nèi)存:8-12G

磁盤(pán)IO await:<10ms(SSD)

上下文切換:15000-30000/s

C. 術(shù)語(yǔ)表

術(shù)語(yǔ) 英文 解釋
負(fù)載 Load Average 系統(tǒng)在一段時(shí)間內(nèi)的平均活躍進(jìn)程數(shù)
上下文切換 Context Switch CPU從一個(gè)進(jìn)程切換到另一個(gè)進(jìn)程
缺頁(yè)錯(cuò)誤 Page Fault 訪問(wèn)的內(nèi)存頁(yè)不在物理內(nèi)存中
IO等待 IO Wait CPU等待IO操作完成的時(shí)間
吞吐量 Throughput 單位時(shí)間內(nèi)處理的請(qǐng)求數(shù)或數(shù)據(jù)量
延遲 Latency 從請(qǐng)求發(fā)出到收到響應(yīng)的時(shí)間
IOPS IO Operations Per Second 每秒IO操作次數(shù)
RSS Resident Set Size 進(jìn)程實(shí)際占用的物理內(nèi)存
VSZ Virtual Size 進(jìn)程申請(qǐng)的虛擬內(nèi)存大小

聲明:本文內(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)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11274

    瀏覽量

    224902
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11754

    瀏覽量

    218994
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3208

    瀏覽量

    76346

原文標(biāo)題:Linux系統(tǒng)性能瓶頸定位:CPU、內(nèi)存、磁盤(pán)IO全面診斷

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Linux系統(tǒng)性能指南

    Linux服務(wù)器運(yùn)行了很多應(yīng)用,在高負(fù)載下,服務(wù)器可能會(huì)出現(xiàn)性能瓶頸,例如CPU利用率過(guò)高、內(nèi)存不足、磁盤(pán)I/O瓶頸等,從而導(dǎo)致系統(tǒng)卡頓,服
    的頭像 發(fā)表于 06-23 14:12 ?1772次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)性能</b>指南

    Linux系統(tǒng)性能優(yōu)化策略

    近年來(lái),世界上許多大軟件公司紛紛推出各種Linux服務(wù)器系統(tǒng)Linux下的應(yīng)用軟件。目前,Linux 已可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗
    發(fā)表于 07-16 06:23

    Linux和Android系統(tǒng)故障和優(yōu)化性能的方法和流程探討

    作為一名Linux 或 Android 平臺(tái)的系統(tǒng)工程師,在開(kāi)發(fā)系統(tǒng)新功能外,主要工作就是優(yōu)化系統(tǒng)性能,使系統(tǒng)上以最優(yōu)的狀態(tài)運(yùn)行,但是由于硬
    發(fā)表于 07-22 06:48

    鏡像對(duì)系統(tǒng)性能的影響有哪些?

    鏡像抑制基礎(chǔ)知識(shí)可減少AD9361和AD9371中正交不平衡的技術(shù)鏡像的來(lái)源、含義及對(duì)系統(tǒng)性能的影響
    發(fā)表于 03-29 07:59

    如何提高FPGA的系統(tǒng)性能

    本文基于Viitex-5 LX110驗(yàn)證平臺(tái)的設(shè)計(jì),探索了高性能FPGA硬件系統(tǒng)設(shè)計(jì)的一般性方法及流程,以提高FPGA的系統(tǒng)性能
    發(fā)表于 04-26 06:43

    一文帶你詳解芯片--SL8541e-系統(tǒng)性能優(yōu)化

    背景 伙伴反饋,設(shè)備操作卡頓,OH基礎(chǔ)系統(tǒng)版本應(yīng)用操作慢,應(yīng)用人機(jī)交互體驗(yàn)差。本文為你總結(jié)芯片解決方案–SL8541e-系統(tǒng)性能優(yōu)化。主要內(nèi)容包括: *1. 確定優(yōu)化思路 幀率優(yōu)化 應(yīng)用啟動(dòng)優(yōu)化
    發(fā)表于 08-22 09:12

    使用Arm Streamline分析樹(shù)莓派的性能

    在本指南中,我們將探索Linux應(yīng)用和系統(tǒng)性能分析,并學(xué)習(xí)如何找到一個(gè)系統(tǒng)正在花費(fèi)時(shí)間的地方。說(shuō)明應(yīng)用程序和發(fā)現(xiàn)性能瓶頸有助于集中軟件優(yōu)化努
    發(fā)表于 08-29 06:30

    優(yōu)化BIOS設(shè)置提高系統(tǒng)性能

    BIOS設(shè)置對(duì)系統(tǒng)性能的影響非常大,優(yōu)化的BIOS設(shè)置,可大大提高PC整體性能,不恰當(dāng)?shù)脑O(shè)置會(huì)導(dǎo)致系統(tǒng)性能下降,運(yùn)行不穩(wěn)定,甚至出現(xiàn)死機(jī)等現(xiàn)象。下面就BIOS中影響系統(tǒng)性能
    發(fā)表于 10-10 14:27 ?43次下載

    關(guān)于系統(tǒng)性能的實(shí)際測(cè)試介紹

    系統(tǒng)性能實(shí)際測(cè)試
    的頭像 發(fā)表于 08-21 01:29 ?3054次閱讀

    深度解讀 30KPA64A 單向 TVS:64V 擊穿機(jī)制與高效防護(hù)策略

    深度解讀 30KPA64A 單向 TVS:64V 擊穿機(jī)制與高效防護(hù)策略
    的頭像 發(fā)表于 02-24 13:52 ?759次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>解讀</b> 30KPA64A 單向 TVS:64V 擊穿機(jī)制與高效防護(hù)<b class='flag-5'>策略</b>

    Linux系統(tǒng)性能調(diào)優(yōu)方案

    關(guān)鍵要點(diǎn)預(yù)覽:本文將深入解析Linux系統(tǒng)性能瓶頸的根本原因,提供可直接落地的調(diào)優(yōu)方案,讓你的系統(tǒng)性能提升30-50%!
    的頭像 發(fā)表于 08-06 17:49 ?861次閱讀

    Linux系統(tǒng)性能優(yōu)化技巧

    經(jīng)過(guò)10年一線運(yùn)維經(jīng)驗(yàn),我發(fā)現(xiàn)大多數(shù)工程師只掌握了Linux優(yōu)化的冰山一角。今天分享的這些秘技,能讓你的系統(tǒng)性能提升200%以上!
    的頭像 發(fā)表于 08-27 14:34 ?928次閱讀

    Linux系統(tǒng)性能調(diào)試工具—strace

    今天給大家分享一個(gè)linux內(nèi)核自帶的調(diào)試工具,該工具可用于查看和定位系統(tǒng)問(wèn)題,進(jìn)程運(yùn)行過(guò)程探索,進(jìn)行進(jìn)程監(jiān)控,對(duì)每個(gè)系統(tǒng)調(diào)用都可以監(jiān)測(cè),有助于我們優(yōu)化
    的頭像 發(fā)表于 01-30 17:03 ?1900次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)性能</b>調(diào)試工具—strace

    Linux系統(tǒng)性能優(yōu)化與調(diào)試的思路?

    在開(kāi)發(fā)過(guò)程中,對(duì)系統(tǒng)性能的要求越來(lái)越高,在求職的過(guò)程中很多崗位不單單是要求驅(qū)動(dòng)開(kāi)發(fā)或者系統(tǒng)開(kāi)發(fā),會(huì)解決系統(tǒng)性能瓶頸問(wèn)題,往往是加分項(xiàng),有些公司特別是大廠都會(huì)把
    的頭像 發(fā)表于 01-30 16:58 ?610次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)性能</b>優(yōu)化與調(diào)試的思路?

    碳化硅SiC MOSFET并聯(lián)的技術(shù)瓶頸系統(tǒng)性克服策略

    碳化硅SiC MOSFET并聯(lián)的技術(shù)瓶頸系統(tǒng)性克服策略:基于基本半導(dǎo)體產(chǎn)品力的深度解析 傾佳電子(Changer Tech)是一家專注于功率半導(dǎo)體和新能源汽車連接器的分銷商。主要服務(wù)
    的頭像 發(fā)表于 11-17 13:35 ?1401次閱讀
    碳化硅SiC MOSFET并聯(lián)的技術(shù)<b class='flag-5'>瓶頸</b>與<b class='flag-5'>系統(tǒng)性</b>克服<b class='flag-5'>策略</b>