最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux性能監(jiān)控與調(diào)優(yōu)方式詳解

 更新時間:2025年08月06日 09:31:12   作者:YC運維  
本文系統(tǒng)介紹Linux性能監(jiān)控與調(diào)優(yōu)方法,涵蓋CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等指標(biāo)檢測工具及優(yōu)化策略,如進(jìn)程綁定、I/O調(diào)度調(diào)整、TCP緩沖優(yōu)化等,適用于性能問題診斷與解決

一、性能檢測(監(jiān)控)

1. CPU1. CPU 監(jiān)控

命令

功能

關(guān)鍵參數(shù)/輸出

場景

top / htop

實時進(jìn)程級

%CPU(進(jìn)程占用率)、%MEM(內(nèi)存占用率)、Load Average(負(fù)載平均值)

快速定位高 CPU 進(jìn)

mpstat -P ALL 1

每個核心的 CPU 使用率

%usr(用戶態(tài))、%sys(內(nèi)核態(tài))、%iowait(I/O 等待)

多核負(fù)載均衡分析

uptime

系統(tǒng)負(fù)載與運行時間

11:32:20 up  3:21,  2 users,  load average: 0.00, 0.01, 0.05

快速查看負(fù)載趨勢

perf top

實時 CPU 熱點函數(shù)分析

按函數(shù)名排序 CPU 占用率

深入代碼級

說明:

1.top

分類具體指標(biāo)數(shù)值 / 說明
系統(tǒng)基本信息當(dāng)前時間11:16:47
開機(jī)時長up 3:05(已開機(jī) 3 小時 05 分鐘)
登錄用戶數(shù)2 users
系統(tǒng)平均負(fù)載load average: 0.00, 0.01, 0.05(1 分鐘、5 分鐘、15 分鐘平均負(fù)載)
任務(wù)(進(jìn)程)統(tǒng)計總進(jìn)程數(shù)226 total
運行中進(jìn)程數(shù)1 running
休眠進(jìn)程數(shù)222 sleeping
停止進(jìn)程數(shù)3 stopped
僵尸進(jìn)程數(shù)0 zombie
CPU 使用率用戶態(tài)(us)0.1%(應(yīng)用程序占用 CPU 比例)
內(nèi)核態(tài)(sy)0.1%(系統(tǒng)內(nèi)核功能占用 CPU 比例)
調(diào)整優(yōu)先級的用戶態(tài)(ni)0.0%
空閑(id)99.8%(空閑 CPU 比例,越高越空閑)
等待 I/O(wa)0.0%(因等待磁盤、網(wǎng)絡(luò)等 I/O 操作占用 CPU 耗時比例)
硬件中斷(hi)0.0%(處理硬件中斷占用 CPU 耗時比例)
軟件中斷(si)0.0%(處理軟件中斷占用 CPU 耗時比例)
被虛擬機(jī) “偷走”(st)0.0%(虛擬機(jī)場景下,被其他虛擬機(jī)占用的 CPU 時間比例)
內(nèi)存信息總物理內(nèi)存(KiB Mem total)4026372 KiB(約 4GB )
空閑物理內(nèi)存(free)2535540 KiB
已用物理內(nèi)存(used)783396 KiB
緩存(buff/cache)707436 KiB(可被釋放給應(yīng)用的臨時緩存)
交換分區(qū)信息總交換分區(qū)(KiB Swap total)4194300 KiB(約 4GB )
空閑交換分區(qū)(free)4194300 KiB
已用交換分區(qū)(used)0 KiB(未用到磁盤交換,性能較好)
實際可用內(nèi)存(avail Mem)2899668 KiB(含可回收緩存,體現(xiàn)實際可用內(nèi)存)
進(jìn)程詳情PID(進(jìn)程 ID)10463、12545、1、2 等
USER(所屬用戶)root(所列進(jìn)程均屬 root 用戶 )
PR(進(jìn)程優(yōu)先級)20(數(shù)值越小優(yōu)先級越高,所列進(jìn)程多為 20 )
NI(nice 值)0(調(diào)整進(jìn)程優(yōu)先級,范圍 -20 ~ 19 )
VIRT(虛擬內(nèi)存總量)如 566636 KiB(vmtoolsd 進(jìn)程)、162012 KiB(top 進(jìn)程 )等
RES(實際物理內(nèi)存占用)如 25912 KiB(vmtoolsd 進(jìn)程)、2372 KiB(top 進(jìn)程 )等
SHR(共享內(nèi)存)如 19120 KiB(vmtoolsd 進(jìn)程)、1588 KiB(top 進(jìn)程 )等
S(進(jìn)程狀態(tài))S(休眠)、R(運行,如 top 進(jìn)程狀態(tài)為 R )等
% CPU(進(jìn)程 CPU 使用率)如 0.3%(vmtoolsd、top 進(jìn)程 )、0.0%(systemd 等進(jìn)程 )
% MEM(進(jìn)程內(nèi)存使用率)如 0.6%(vmtoolsd 進(jìn)程)、0.1%(top 進(jìn)程 )、0.2%(systemd 進(jìn)程 )等
TIME+(累計 CPU 耗時)如 0:13.54(vmtoolsd 進(jìn)程)、0:00.02(top 進(jìn)程 )、0:01.55(systemd 進(jìn)程 )等
COMMAND(進(jìn)程名稱 / 命令)vmtoolsd、top、systemd、kthreadd 等

2.mpstat -P ALL 1

列名全稱 / 含義示例值(以 all 行為例)補充說明
11:27:17 AM11:27:18 AM采樣時間采樣時間戳第一行是 “表頭時間”,后續(xù)是實際采樣時間
CPUCPU 標(biāo)識:- all = 所有 CPU 總覽- 0/1 = 單個 CPU 核心編號all、0、1你的輸出里還有 2、3 核心(截圖未完整顯示)
%usr用戶態(tài) CPU 使用率(應(yīng)用程序、腳本等用戶空間程序占用 CPU 比例)0.00數(shù)值越高,用戶程序越繁忙
%nice調(diào)整過優(yōu)先級(nice 值)的用戶態(tài) CPU 使用率0.00通常為 0(少用優(yōu)先級調(diào)整時)
%sys內(nèi)核態(tài) CPU 使用率(系統(tǒng)內(nèi)核功能、驅(qū)動等占用 CPU 比例)0.25(all 行)數(shù)值高可能因內(nèi)核任務(wù)多(如 I/O 調(diào)度)
%iowaitCPU 等待 I/O 耗時比例(因磁盤、網(wǎng)絡(luò)等 I/O 阻塞,CPU 空閑等待的時間)0.00高值可能表示存儲 / 網(wǎng)絡(luò)性能瓶頸
%irq硬件中斷(如鍵盤、磁盤控制器觸發(fā))占用 CPU 比例0.00通常較低,驅(qū)動異常時可能升高
%soft軟件中斷(內(nèi)核內(nèi)部觸發(fā)的中斷)占用 CPU 比例0.00同上,異常時需關(guān)注
%steal虛擬機(jī)場景下,被宿主機(jī) “偷走” 的 CPU 時間(僅虛擬機(jī)內(nèi)可見)0.00物理機(jī)無此損耗,虛擬機(jī)需關(guān)注
%guest運行虛擬機(jī)客戶機(jī)(如 KVM 虛機(jī))占用的 CPU 比例0.00無虛擬機(jī)時通常為 0
%gnice調(diào)整過優(yōu)先級的虛擬機(jī)客戶機(jī) CPU 使用率0.00同上,少用場景為 0
%idleCPU 空閑比例(完全無任務(wù)時的空閑時間)99.75(all 行)

2. 內(nèi)存監(jiān)控

命令

功能

關(guān)鍵參數(shù)/輸出

場景

free -h

內(nèi)存使用情況(人類可讀)

available(可用內(nèi)存)、buff/cache(緩存)、used(已用)

**關(guān)鍵指標(biāo):關(guān)鍵指標(biāo):available < 10% 需警惕

vmstat 1 5

內(nèi)存、進(jìn)程、I/O 綜合統(tǒng)計

si/so(Swap 交換量)、bi/bo(磁盤r(運行隊列長度

內(nèi)存不足或 I/O 瓶頸

sar -r 1 5

內(nèi)存使用率歷史數(shù)據(jù)

kbmemfree(空閑內(nèi)存)、kbmemused(已用內(nèi)存)、%memused(使用率)

1.free -h

分類字段含義 & 示例值補充說明
內(nèi)存total總物理內(nèi)存:3.8G系統(tǒng)總內(nèi)存約 3.8GB
used已用內(nèi)存:765M實際被程序占用的內(nèi)存
free空閑內(nèi)存:2.4G完全未被使用的 “純空閑” 內(nèi)存
buff/cache緩存內(nèi)存:690M用于磁盤緩存(可釋放給程序)
available可用內(nèi)存:2.8G程序?qū)嶋H可申請的內(nèi)存(含可回收緩存)
交換分區(qū)total總交換空間:4.0G硬盤模擬的 “虛擬內(nèi)存” 總大小
used已用交換:0B未用到交換分區(qū)(性能好)
free空閑交換:4.0G交換分區(qū)剩余空間

總結(jié):系統(tǒng)物理內(nèi)存充足(總 3.8G,已用僅 765M,可用 2.8G ),且未用到交換分區(qū)(Swap 用 0B ),內(nèi)存狀態(tài)非常健康,無內(nèi)存壓力~

2.vmstat 1 5

3.sar -r 1 5

3. 磁盤 I/O 監(jiān)控

命令

功能

關(guān)鍵參數(shù)/輸出

場景

iostat -dx 1 5

磁盤 I/O 性能(擴(kuò)展模式)

%util(設(shè)備繁忙度)、await(I/O 延遲)、r/s(讀請求數(shù))、w/s(寫請求數(shù))

瓶頸判斷:%util > 80% 或 await > 20ms

df -h

磁盤分區(qū)空間使用率

Use%(使用率)、Mounted on(掛載點)

磁盤空間告

1.iostat -dx 1 5

分類字段 / 列名含義 & 示例值補充說明
磁盤設(shè)備Device磁盤設(shè)備名:scd0、sdasda 通常是主硬盤,scd0 可能是光驅(qū)
I/O 指標(biāo)tps每秒 I/O 操作數(shù):scd0: 0.00sda: 0.44數(shù)值越高,磁盤越繁忙
kB_read/s每秒讀數(shù)據(jù)量(kB):scd0: 0.02sda: 15.91讀吞吐量,反映讀性能
kB_wrtn/s每秒寫數(shù)據(jù)量(kB):scd0: 0.00sda: 1.25寫吞吐量,反映寫性能
累計統(tǒng)計kB_read累計讀總量(kB):scd0: 1050sda: 676095系統(tǒng)啟動以來的讀總數(shù)據(jù)量
kB_wrtn累計寫總量(kB):scd0: 0sda: 53193系統(tǒng)啟動以來的寫總數(shù)據(jù)量

關(guān)鍵結(jié)論:

  • sda(主硬盤):有一定讀寫活動(tps=0.44、kB_read/s=15.91kB_wrtn/s=1.25 ),但整體負(fù)載低,屬于正常使用狀態(tài)。
  • scd0(可能是光驅(qū)):讀寫極少(tps=0.00kB_wrtn/s=0.00 ),符合光驅(qū)低使用場景。系統(tǒng)磁盤 I/O 壓力小,無明顯性能瓶頸。

4. 網(wǎng)絡(luò)監(jiān)控

命令

功能

關(guān)鍵參數(shù)/輸出

場景

sar -n DEV 1 5

網(wǎng)絡(luò)接口流量統(tǒng)計

rxkB/s(接收速率)、txkB/s(發(fā)送速率)、rxerr/s(接收錯誤)

帶寬瓶頸或丟包問題

ss -tuln

監(jiān)聽端口與連接狀態(tài)

LISTEN(監(jiān)聽端口)、ESTAB(已建立連接)

檢查服務(wù)端口是否正常

netstat -s

網(wǎng)絡(luò)協(xié)議統(tǒng)計(TCP/UDP/ICMP)

segments retransmitted(TCP 重傳)、packet receive errors(接收錯誤)

網(wǎng)絡(luò)層問題分析

1.sar -n DEV 1 5

2.ss -tuln

3.netstat -s

5. 綜合監(jiān)控工具

工具

功能

特點

dstat

CPU/內(nèi)存/磁盤/網(wǎng)絡(luò)一體化監(jiān)控

dstat -tcmndpy(時間+CPU+內(nèi)存+磁盤+網(wǎng)絡(luò)+系統(tǒng)調(diào)用)

glances

跨平臺系統(tǒng)監(jiān)控(Web/終端)

支持插件擴(kuò)展,可監(jiān)控 Docker、傳感器等

nmon

實時性能監(jiān)控 + 數(shù)據(jù)導(dǎo)出

生成 CSV 報告用于長期分析

二、性能調(diào)優(yōu)(優(yōu)化)

1. CPU 調(diào)優(yōu)

場景

調(diào)優(yōu)策略

命令/配置

進(jìn)程 CPU 綁定

減少跨 CPU 核心切換開銷

taskset -cp 0,1 <PID>(綁定進(jìn)程到核心 0,1)

中斷親和性

分散網(wǎng)卡中斷到不同 CPU 核心

echo 1 > /proc/irq/<中斷號>/smp_affinity(綁定到 CPU 0)

CPU 頻率調(diào)節(jié)

固定高性能模式(省電場景用 ondemand)

cpupower frequency-set -g performance

減少上下文切換

降低線程數(shù)或使用異步 I/O

優(yōu)化應(yīng)用代碼(如使用 Nginx 的 worker_processes auto)

2. 內(nèi)存調(diào)優(yōu)

場景

調(diào)優(yōu)策略

命令/配置

減少 Swap 使用

避免內(nèi)存頻繁交換到磁盤(需確保物理內(nèi)存充足)

sysctl vm.swappiness=10(默認(rèn) 60,0 表示禁用 Swap)

調(diào)整臟頁回寫

減少磁盤寫頻率,提升寫性能

sysctl vm.dirty_ratio=15(臟頁占比達(dá) 15% 時阻塞寫)

啟用大頁內(nèi)存

減少 TLB Miss(適用于數(shù)據(jù)庫、虛擬化)

echo 2048 > /proc/sys/vm/nr_hugepages(分配 2048 個 2MB 大頁)

OOM Killer 保護(hù)

防止關(guān)鍵進(jìn)程被殺

echo -1000 > /proc/<PID>/oom_score_adj(值越低越不易被殺)

3. 磁盤 I/O 調(diào)優(yōu)

場景

調(diào)優(yōu)策略

命令/配置

更換 I/O 調(diào)度器

SSD 用 none/mq-deadline,HDD 用 mq-deadline

echo mq-deadline > /sys/block/sda/queue/scheduler

調(diào)整隊列深度

提高并發(fā) I/O 能力(SSD 可設(shè) 256-1024)

echo 512 > /sys/block/sda/queue/nr_requests

啟用讀寫預(yù)取

提升順序讀寫性能

echo 1024 > /sys/block/sda/queue/read_ahead_kb(單位 KB)

文件系統(tǒng)掛載優(yōu)化

禁用訪問時間更新、啟用寫回模式

mount -o noatime,nodiratime,data=writeback /dev/sda1 /mnt

4. 網(wǎng)絡(luò)調(diào)優(yōu)

場景

調(diào)優(yōu)策略

命令/配置

調(diào)整 TCP 緩沖區(qū)

高帶寬或高延遲網(wǎng)絡(luò)需增大緩沖區(qū)

sysctl net.ipv4.tcp_rmem="4096 87380 16777216"(最小/默認(rèn)/最大接收緩沖區(qū))

啟用 BBR 擁塞算法

提升高丟包網(wǎng)絡(luò)吞吐量(需內(nèi)核 ≥4.9)

sysctl net.ipv4.tcp_congestion_control=bbr

連接復(fù)用

減少 TIME_WAIT 連接

sysctl net.ipv4.tcp_tw_reuse=1

增大連接跟蹤表

高并發(fā)服務(wù)器(如 NAT 網(wǎng)關(guān))

sysctl net.netfilter.nf_conntrack_max=1000000

三、調(diào)優(yōu)實戰(zhàn)案例

場景:Web 服務(wù)器響應(yīng)緩慢

1.監(jiān)控診斷

top              # 發(fā)現(xiàn) CPU 占用 90%,負(fù)載 15(8核機(jī))
vmstat 1         # 顯示 r(運行隊列)>10,so(Swap Out)>0
free -h          # available 內(nèi)存僅 500MB(總 16GB)

結(jié)論:CPU 瓶頸 + 內(nèi)存不足導(dǎo)致 Swap。

2.調(diào)優(yōu)措施

2.1 應(yīng)用層

# 優(yōu)化 Nginx 配置(減少 worker 數(shù))
worker_processes auto;
worker_connections 512;  # 原值 1024
# 優(yōu)化慢 SQL(如添加索引)
EXPLAIN SELECT * FROM users WHERE name='Alice';

2.2 內(nèi)核層

sysctl vm.swappiness=10          # 減少 Swap
sysctl net.ipv4.tcp_tw_reuse=1   # 復(fù)用 TIME_WAIT 連接

 硬件:增加內(nèi)存至 32GB。

3.驗證效果

ab -n 10000 -c 100 http://localhost/  # 壓力測試
# 結(jié)果:TPS 從 200 提升至 800,響應(yīng)時間從 500ms 降至 120ms
  • 安全第一:生產(chǎn)環(huán)境調(diào)優(yōu)前 務(wù)必備份,
  • 單一變量:每次只修改一個參數(shù),避免無法定位問題根源。 3
  • 監(jiān)控先行:調(diào)優(yōu)后持續(xù)sar -u 1 3600 記錄 1 小時 CPU)。 4

工具選擇

  • 快速診斷:`top/vmstat/iostat
  • 深度分析:perf/eBPFbcc-tools
  • 長期Prometheus + Grafana

五、命令速查表

目標(biāo)

命令

輸出關(guān)鍵字

CPU 瓶頸

mpstat -P ALL 1

%usr > 80% 或 %iowait > 20

內(nèi)存不足

free -h

available < 10% 總內(nèi)存

磁盤瓶頸

iostat -dx 1

%util > 80% 或 `awaitawait > 20ms

網(wǎng)絡(luò)丟包

sar -n DEV 1

rxerr/s > 0 或 rxdrop/s > 0

高負(fù)載進(jìn)程

ps aux --sort=-%cpu | head -10

第一列高 CPU 進(jìn)

Swap 使用

vmstat 1

si 或 so 持

六、Linux內(nèi)核版本優(yōu)化

linux內(nèi)核優(yōu)化

  • 升級內(nèi)核
rpm -ivh kernel-3.10...rpm  
  • 查看內(nèi)核模塊
/lib/modules
  • uname -r  查看內(nèi)核版本
3.10.0-957.el7.x86_64

內(nèi)核版本號由3部分組成

  • 3.10.0-957
  • 主版本號
  • 次版本號:次版本號決定該內(nèi)核是穩(wěn)定版本還是開發(fā)版本  偶數(shù)穩(wěn)定版本  奇數(shù) 開發(fā)版本
  • 末版本號(修訂版本號)

查詢模塊

lsmod |grep xfs
modinfo  xfs
  • 加載模塊
modprobe  ext4
  • 卸載模塊
modprobe  -r  ext4
  • 開啟IP轉(zhuǎn)發(fā)
vim  /etc/sysctl.conf
net.ipv4.ip_forward  =  1
sysctl -p /etc/sysctl.conf
  • 開啟禁ping
vim  /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all  =  1
sysctl -p /etc/sysctl.conf

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Linux中安裝Git的詳細(xì)流程

    在Linux中安裝Git的詳細(xì)流程

    本文介紹在Linux操作系統(tǒng)的Ubuntu版本中,配置分布式開源版本控制系統(tǒng)Git,隨后基于Git克隆GitHub中項目的代碼的詳細(xì)方法,需要的朋友可以參考下
    2024-04-04
  • 一張圖看盡Linux內(nèi)核運行原理

    一張圖看盡Linux內(nèi)核運行原理

    一張圖看盡Linux內(nèi)核運行原理,幫助大家了解Linux內(nèi)核運行原理,通過這張圖,你可以很方便地學(xué)習(xí)內(nèi)核知識,需要的朋友可以參考下
    2016-01-01
  • 查看linux ssh服務(wù)信息及運行狀態(tài)方法

    查看linux ssh服務(wù)信息及運行狀態(tài)方法

    今天小編就為大家分享一篇查看linux ssh服務(wù)信息及運行狀態(tài)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Linux中查找工具的友好替代方案

    Linux中查找工具的友好替代方案

    今天小編就為大家分享一篇關(guān)于Linux中查找工具的友好替代方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • Centos7系統(tǒng)下搭建.NET Core2.0+Nginx+Supervisor環(huán)境

    Centos7系統(tǒng)下搭建.NET Core2.0+Nginx+Supervisor環(huán)境

    本文為大家分享了如何在Centos7系統(tǒng)下搭建.NET Core2.0+Nginx+Supervisor環(huán)境,部署方法非常詳細(xì)
    2018-10-10
  • Linux awk命令基本使用及說明

    Linux awk命令基本使用及說明

    這篇文章主要介紹了Linux awk命令基本使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 基于windowx的Hyper-v安裝CentOS系統(tǒng)

    基于windowx的Hyper-v安裝CentOS系統(tǒng)

    這篇文章主要介紹了基于windowx的Hyper-v安裝CentOS系統(tǒng) ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Linux下apache日志分析與狀態(tài)查看方法

    Linux下apache日志分析與狀態(tài)查看方法

    使用apache服務(wù)器,有時候需要查看apache的日志與狀態(tài),那么就需要下面的命令了,特分享下方便需要的朋友
    2013-01-01
  • Linux系統(tǒng)下利用C程序輸出某進(jìn)程的內(nèi)存占用信息

    Linux系統(tǒng)下利用C程序輸出某進(jìn)程的內(nèi)存占用信息

    這篇文章主要給大家介紹了關(guān)于在Linux系統(tǒng)下利用C程序輸出某進(jìn)程的內(nèi)存占用信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友下面來一起看看吧。
    2017-12-12
  • Linux 服務(wù)器安全技巧

    Linux 服務(wù)器安全技巧

    一臺服務(wù)器由大量功能各異的部件組成,這一點使得很難根據(jù)每個人的需求去提供定制的解決方案。這篇文章盡可能涵蓋一些有所裨益的小技巧來幫助管理員保證服務(wù)器和用戶安全
    2016-03-03

最新評論

赤水市| 聂荣县| 赣榆县| 扶风县| 法库县| 余干县| 泰兴市| 嘉义县| 浠水县| 肥城市| 吕梁市| 中宁县| 万山特区| 顺义区| 油尖旺区| 晋州市| 习水县| 容城县| 庆云县| 岑巩县| 新宾| 儋州市| 青浦区| 邯郸县| 朝阳市| 荃湾区| 云阳县| 城固县| 衡水市| 会同县| 禄丰县| 营口市| 株洲县| 昌江| 东宁县| 北川| 孟连| 玉田县| 邢台县| 红安县| 浦城县|