日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

CentOS 7 系统调优深度指南

發(fā)布時間:2025/6/17 34 如意码农
生活随笔 收集整理的這篇文章主要介紹了 CentOS 7 系统调优深度指南 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從內(nèi)核參數(shù)、資源分配、存儲性能到網(wǎng)絡(luò)優(yōu)化,覆蓋全維度調(diào)優(yōu)策略,并強(qiáng)調(diào)穩(wěn)定性保障。


一、調(diào)優(yōu)核心維度與操作命令

1. 內(nèi)核參數(shù)調(diào)優(yōu) (/etc/sysctl.conf)

bash

# 編輯配置文件

vim /etc/sysctl.conf

# 關(guān)鍵參數(shù)示例(追加后執(zhí)行 `sysctl -p` 生效)

# 內(nèi)存管理

vm.swappiness = 10                  # 減少Swap使用(默認(rèn)60)

vm.dirty_ratio = 20                 # 系統(tǒng)內(nèi)存臟頁占比閾值(默認(rèn)20%)

vm.dirty_background_ratio = 10      # 后臺刷臟頁的閾值(默認(rèn)10%)

# 網(wǎng)絡(luò)優(yōu)化

net.core.somaxconn = 65535          # 最大連接隊列長度(默認(rèn)128)

net.ipv4.tcp_max_syn_backlog = 65535 # SYN隊列長度(默認(rèn)512)

net.ipv4.tcp_fin_timeout = 30       # FIN超時時間(默認(rèn)60s)

net.ipv4.tcp_tw_reuse = 1           # 允許復(fù)用TIME_WAIT套接字

net.ipv4.tcp_slow_start_after_idle = 0 # 禁用空閑后慢啟動

# 文件系統(tǒng)

fs.file-max = 1000000               # 最大文件句柄數(shù)

fs.inotify.max_user_watches = 65536 # inotify監(jiān)控文件數(shù)上限

參數(shù)解析

  • vm.swappiness=10:降低Swap使用優(yōu)先級,避免物理內(nèi)存充足時誤用Swap引發(fā)性能抖動。
  • net.ipv4.tcp_tw_reuse=1:解決高并發(fā)下TIME_WAIT過多導(dǎo)致端口耗盡問題。

2. 資源限制調(diào)優(yōu) (/etc/security/limits.conf)

# 針對用戶/進(jìn)程的資源限制

* soft nofile 65535         # 單進(jìn)程最大打開文件數(shù)(軟限制)

* hard nofile 100000        # 硬限制

* soft nproc 65535          # 單用戶最大進(jìn)程數(shù)

* hard nproc 100000

生效方式

  • 重啟系統(tǒng) 或 使用 ulimit -n 65535 臨時生效。

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

# 查看當(dāng)前調(diào)度策略

cat /sys/block/sda/queue/scheduler

# 臨時修改為deadline(適合數(shù)據(jù)庫)

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

# 永久生效(GRUB配置)

vim /etc/default/grub

GRUB_CMDLINE_LINUX="... elevator=deadline"

grub2-mkconfig -o /boot/grub2/grub.cfg

調(diào)度器選擇

  • SSD:noop(無隊列邏輯,直接提交請求)
  • HDD:deadline(避免IO饑餓)
  • 虛擬機(jī):noop(宿主物理機(jī)已處理調(diào)度)

4. 文件系統(tǒng)優(yōu)化

4.1 Ext4/XFS掛載參數(shù)

# /etc/fstab 示例

/dev/sda1 /data xfs defaults,noatime,nodiratime 0 0

  • noatime:禁止記錄訪問時間,減少寫操作。
  • nodiratime:目錄訪問時間不更新。

4.2 調(diào)整日志模式(XFS)

# 延遲寫入日志(性能提升,風(fēng)險增加)

mkfs.xfs -l logdev=/dev/sdb1 /dev/sda1


5. 網(wǎng)絡(luò)協(xié)議棧優(yōu)化

# 啟用TCP BBR擁塞控制(需內(nèi)核4.9+)

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

# 多隊列網(wǎng)卡優(yōu)化

ethtool -L eth0 combined 8    # 啟用8個隊列(需網(wǎng)卡支持)

irqbalance                     # 自動平衡IRQ中斷


6. 透明大頁(THP)與內(nèi)存碎片整理

# 關(guān)閉透明大頁(數(shù)據(jù)庫場景建議關(guān)閉)

echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 調(diào)整內(nèi)存碎片整理策略

echo 0 > /proc/sys/vm/compact_memory     # 禁止主動整理

echo 1 > /proc/sys/vm/zone_reclaim_mode  # 本地內(nèi)存回收


二、調(diào)優(yōu)后穩(wěn)定性保障措施

1. 壓力測試與監(jiān)控

# CPU壓力測試(72小時穩(wěn)定性驗證)

stress --cpu 32 --timeout 259200

# 內(nèi)存測試(memtester)

memtester 4G 24

# 實時監(jiān)控工具

yum install sysstat dstat -y

dstat -tcmnd --disk-util   # 綜合監(jiān)控

2. 監(jiān)控指標(biāo)閾值(告警觸發(fā)條件)

指標(biāo)

警告閾值

危險閾值

監(jiān)控工具

CPU使用率

80%

95%

top/mpstat

內(nèi)存Swap使用

1GB

5GB

free -h

磁盤I/O等待時間

20ms

100ms

iostat -dx

TCP重傳率

1%

5%

nstat -z


3. 內(nèi)核崩潰分析(Kdump配置)

# 安裝配置

yum install kexec-tools -y

systemctl enable kdump

systemctl start kdump

# 測試觸發(fā)崩潰

echo c > /proc/sysrq-trigger   # 生產(chǎn)環(huán)境慎用!

# 崩潰日志路徑:/var/crash/<timestamp>/vmcore


三、調(diào)優(yōu)風(fēng)險與規(guī)避策略

風(fēng)險點

規(guī)避方案

回滾方法

內(nèi)核參數(shù)沖突

分批修改 → 逐項驗證 → 記錄基線

sysctl -p /etc/sysctl.conf.bak

文件系統(tǒng)損壞

修改前 fsck 檢查 + 備份關(guān)鍵數(shù)據(jù)

恢復(fù) /etc/fstab 原始配置

網(wǎng)絡(luò)中斷

避免生產(chǎn)高峰操作 → 備用網(wǎng)絡(luò)路徑

重啟網(wǎng)絡(luò)服務(wù) systemctl restart network

資源耗盡(進(jìn)程/OOM)

限制關(guān)鍵進(jìn)程資源(cgroups)

echo 0 > /proc/sys/vm/panic_on_oom


四、調(diào)優(yōu)效果評估模型

1. 性能提升量化指標(biāo)

# 調(diào)優(yōu)前后對比(示例:Nginx QPS)

ab -c 100 -n 10000 http://localhost/

  • 預(yù)期提升
    • 網(wǎng)絡(luò)延遲降低 30%~50%(BBR算法)
    • 高并發(fā)連接數(shù)提升 2~5 倍(somaxconn優(yōu)化)
    • 磁盤IOPS提升 20%~40%(調(diào)度器優(yōu)化)

2. 穩(wěn)定性驗證周期

  • 短期 (24h):基礎(chǔ)服務(wù)(SSH/DB/App)無中斷
  • 中期 (7d):無OOM/Kernel Panic
  • 長期 (30d):資源利用率曲線平穩(wěn)(監(jiān)控圖表)

五、深度調(diào)優(yōu)建議

  1. 定制化內(nèi)核編譯
    • 移除未使用模塊(如IPv6、藍(lán)牙)
    • 調(diào)整進(jìn)程調(diào)度器為 CFS(完全公平調(diào)度)

# 內(nèi)核配置示例

CONFIG_TICKLESS_KERNEL=y      # 降低時鐘中斷

CONFIG_PREEMPT_VOLUNTARY=y    # 自愿內(nèi)核搶占

  1. NUMA架構(gòu)優(yōu)化

# 綁定進(jìn)程到指定NUMA節(jié)點

numactl --cpunodebind=0 --membind=0 /path/app

  1. eBPF深度監(jiān)控

# 使用bpftrace跟蹤I/O延遲

bpftrace -e 'tracepoint:block:block_rq_issue { @ = hist(args->bytes); }'


六、總結(jié):調(diào)優(yōu)與穩(wěn)定的平衡藝術(shù)

  • 黃金準(zhǔn)則
    • 一次只改一個參數(shù),監(jiān)控72小時后再繼續(xù)。
    • 生產(chǎn)環(huán)境必須先在測試環(huán)境驗證。
    • 文檔化所有變更:參數(shù)、時間、預(yù)期效果。
  • 穩(wěn)定性紅線
    • 勿為10%性能犧牲1%穩(wěn)定性(如關(guān)閉所有Swap)。
    • 保留20%資源緩沖(CPU/內(nèi)存/磁盤空間)。
  • 終極驗證

    模擬極端場景(斷電、網(wǎng)絡(luò)風(fēng)暴、磁盤滿負(fù)荷)下服務(wù)恢復(fù)能力。

調(diào)優(yōu)本質(zhì)是權(quán)衡:在吞吐量、延遲、資源消耗之間尋找業(yè)務(wù)場景的最優(yōu)解。建議每季度基于業(yè)務(wù)增長復(fù)盤配置,持續(xù)迭代。

七、安全合規(guī)性調(diào)優(yōu)

1. 內(nèi)核安全加固

# 禁用非必要協(xié)議

echo "net.ipv4.conf.all.accept_redirects=0"
>> /etc/sysctl.conf

echo "net.ipv6.conf.all.disable_ipv6=1"
>> /etc/sysctl.conf  # 非IPv6環(huán)境

# 防御SYN Flood攻擊

echo "net.ipv4.tcp_syncookies=1" >>
/etc/sysctl.conf

echo "net.ipv4.tcp_max_syn_backlog=2048"
>> /etc/sysctl.conf

2. SELinux策略優(yōu)化

# 保持SELinux開啟前提下優(yōu)化

semanage permissive -d httpd_t  # 禁止Web服務(wù)降級為permissive模式

setsebool -P httpd_can_network_memcache=1  # 按需開放布爾值


八、數(shù)據(jù)備份與恢復(fù)策略

1. 關(guān)鍵配置文件備份

# 自動化備份配置

*/5 * * * * tar -zcf /backup/sysconf_$(date
+\%F).tar.gz /etc/{sysctl.conf,security/limits.conf,fstab}

2. LVM快照備份數(shù)據(jù)庫

# 創(chuàng)建LVM快照(示例)

lvcreate --size 10G --snapshot --name
db_snap /dev/vg00/mysql


九、環(huán)境適配性優(yōu)化

1. 虛擬化環(huán)境特調(diào)

優(yōu)化點

VMware

KVM

磁盤調(diào)度器

deadline

none (virtio-blk)

網(wǎng)絡(luò)中斷親和性

vSphere Client配置

virsh vcpupin

2. 云環(huán)境適配

# 阿里云優(yōu)化示例

echo "noop" >
/sys/block/vda/queue/scheduler  # 使用虛擬化驅(qū)動調(diào)度器

systemctl disable tuned  # 禁用可能與云平臺沖突的調(diào)優(yōu)服務(wù)


十、極端場景性能平衡

1. 磁盤滿負(fù)荷處理

# 保留5%磁盤空間防宕機(jī)(XFS)

mkfs.xfs -m reserve=5 /dev/sdb1

# 監(jiān)控腳本(95%使用率告警)

df -h | awk '$5 > 95 {print $6 "
ALERT!"}' | mail -s "DISK FULL" admin@example.com

2. 內(nèi)存OOM高級策略

# 優(yōu)先級保留SSH內(nèi)存(防止被OOM殺死)

echo -1000 > /proc/$(pgrep sshd)/oom_score_adj


十一、性能監(jiān)控體系進(jìn)階

1. eBPF深度監(jiān)控工具

# 安裝bcc-tools

yum install bcc-tools -y

# 追蹤慢IO請求(>100ms)

/usr/share/bcc/tools/biolatency -m 100

2. 性能基線圖譜

# 生成7天性能趨勢報告

sar -A -o /var/log/sa/sa$(date +%d) >
/dev/null

sadf -g /var/log/sa/sa* -- -A >
/var/www/html/perf_trend.svg


十二、調(diào)優(yōu)風(fēng)險規(guī)避強(qiáng)化

1. 內(nèi)核參數(shù)灰度發(fā)布

# 動態(tài)加載測試(不永久生效)

sysctl -w net.ipv4.tcp_tw_reuse=1 &&
ab -c 1000 -n 100000 http://testurl/

# 確認(rèn)無異常后再寫入配置文件

2. 快速回滾機(jī)制

# 內(nèi)核參數(shù)一鍵回滾

alias sysctl_rollback="sysctl -p
/etc/sysctl.conf.bak_$(date +\%F)"


十三、調(diào)優(yōu)效果科學(xué)評估

性能對比矩陣

優(yōu)化項

測試工具

評估指標(biāo)

合格標(biāo)準(zhǔn)

網(wǎng)絡(luò)吞吐量

iperf3

帶寬波動率 < 5%

72小時持續(xù)測試

磁盤延遲

fio

99th%延遲 < 10ms

百萬IOPS壓力下

并發(fā)處理能力

wrk

QPS下降率 <
1%/24h

萬級并發(fā)持續(xù)壓測


十四、深度調(diào)優(yōu)補(bǔ)充策略

1. 編譯器級優(yōu)化

# 針對CPU指令集重編譯關(guān)鍵軟件

CFLAGS="-O3 -march=native
-mtune=native" ./configure --prefix=/opt/nginx_tuned

2. NUMA內(nèi)存策略

# 跨節(jié)點訪問懲罰檢查

numastat -m 
# 關(guān)注`Other_node`指標(biāo)

# 綁定MySQL到NUMA節(jié)點

numactl --cpubind=0 --membind=0
/usr/sbin/mysqld


十五、穩(wěn)定性終極驗證清單

  1. 故障注入測試

# 模擬網(wǎng)絡(luò)丟包(持續(xù)30s)

tc qdisc add dev eth0 root netem loss 10%

sleep 30 && tc qdisc del dev eth0
root

  1. 斷電測試

echo c > /proc/sysrq-trigger  # 觸發(fā)內(nèi)核崩潰(測試Kdump)

  1. 資源耗盡驗證

# 觸發(fā)內(nèi)存溢出(監(jiān)控OOM
Killer行為)

stress -vm 4 --vm-bytes $(free -m | awk '/Mem/{print
int($2*0.95)}')M


十六、調(diào)優(yōu)文檔規(guī)范

變更記錄表示例

變更時間

參數(shù)路徑

原值

新值

負(fù)責(zé)人

監(jiān)控周期

驗證結(jié)果

2025-05-30

net.core.somaxconn

128

65535

運(yùn)維A

7天

TCP連接數(shù)+230%


結(jié)語:調(diào)優(yōu)的哲學(xué)

  1. 黃金三角平衡法則

圖表

  1. 動態(tài)調(diào)優(yōu)理念
    • 每季度基于業(yè)務(wù)增長復(fù)盤參數(shù)(尤其進(jìn)程數(shù)/文件句柄)
    • 硬件升級后重新評估調(diào)度策略(如NVMe SSD改用none調(diào)度器)
    • 安全漏洞通告時回退有風(fēng)險的優(yōu)化(如關(guān)閉TCP_TW_REUSE)

終極警示:任何調(diào)優(yōu)必須滿足

穩(wěn)定性公式:業(yè)務(wù)SLA > 性能增益價值
+ 故障風(fēng)險成本

總結(jié)

以上是生活随笔為你收集整理的CentOS 7 系统调优深度指南的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。