雖 Linux ext2/ext3/ext4 檔案系統較 Windows FAT/NTFS 碎片化輕微,但長期運行仍會產生碎片與效能下降。本文提供七個具體優化措施,涵蓋軟體整理、硬體升級、核心參數調校。
一、清理磁碟空間
刪除無用檔案、清空暫存目錄、壓縮舊日誌、移除未用套件。釋放空間讓檔案系統有更多連續區塊分配,減少碎片產生。
二、整理磁碟碎片
Linux 無原生線上碎片整理工具(ext4 可用 e4defrag)。最徹底方法:完整備份 → 重新格式化分區 → 還原資料。檔案將寫入連續區塊。適用於 /home 等常變動分區;/usr 等靜態分區通常不需。耗時與 Windows NT 碎片整理相當。
三、IDE 升級 SCSI / SAS / NVMe
- IDE 控制器佔用 CPU 處理 I/O,高負載時拖慢系統。
- SCSI/SAS 控制器具備獨立 I/O 處理器,不佔用 CPU,多任務並行效能優異。
- 現代首選 NVMe SSD:PCIe 總線、極低延遲、高佇列深度,徹底解決儲存瓶頸。
控制器與磁碟轉速選擇
- UltraWide SCSI / 高階 RAID 卡:顯著提升持續傳輸速率。
- UDMA (ATA/100/133) 接近 SCSI 效能,控制器整合於硬碟,成本較低。
- 轉速:7200 RPM 主流,10000/15000 RPM 企業級 SAS,SSD 無機械轉速限制。
四、多控制器分散 I/O 負載
單控制器掛載多顆磁碟會成為瓶頸。伺服器建議每顆關鍵磁碟(或 RAID 陣列)獨佔一個控制器通道,並行處理 I/O 請求。高階 RAID 卡價格較高但效能增益明顯。
五、hdparm 調校 IDE/SATA 硬碟參數
操作前必須完整備份,錯誤參數可能導致資料毀損。
# 查看目前設定
hdparm -v /dev/sda
# 測試傳輸速率
hdparm -Tt /dev/sda
# 啟用 32-bit I/O 支援
hdparm -c3 /dev/sda
# 啟用多扇區傳輸 (多數現代磁碟支援 16/32 扇區)
hdparm -m16 /dev/sda # Western Digital 早期機型建議 -m8
# 啟用 DMA (現代核心通常預設開啟)
hdparm -d1 /dev/sda
# 設定讀取預讀扇區數
hdparm -a2048 /dev/sda
啟用 32-bit I/O + 多扇區傳輸可降低 CPU 負載 30-50%,提升傳輸率 ~50%。/etc/rc.local 或 systemd 服務持久化設定。
六、軟體 RAID 提升效能與冗餘
Linux 核心內建軟體 RAID (mdadm),成本僅多顆硬碟,無需專用硬體。常用級別:
| 級別 | 特性 | 適用場景 |
| RAID 0 | 條帶化,最高速度,無冗餘 | 暫存、快取、可重建資料 |
| RAID 1 | 鏡像,讀快寫慢,最高冗餘 | 作業系統盤、關鍵資料 |
| RAID 5 | 分散式奇偶校驗,平衡速度/容量/冗餘 | 資料庫、檔案伺服器 |
| RAID 6 | 雙奇偶校驗,雙盤故障容忍 | 大容量陣列、歸檔 |
| RAID 10 | 鏡像+條帶,高效能+高冗餘 | 核心業務、虛擬化儲存 |
軟體 RAID 0 實現多磁碟並行存取,速度遠超單顆磁碟。生產環境建議 RAID 1/5/6/10 兼顧資料安全。
七、核心參數調校 (vm 子系統)
# 查看當前空閒頁面閾值
cat /proc/sys/vm/freepages
# 輸出三值:min free pages, low free pages, high free pages
# 128 256 384 (單位:4KB 頁面)
- min:系統極力回收記憶體下限。
- low:啟動積極 swapout(kswapd 覺醒)。
- high:目標空閒量,低於此值開始交換。
調整範例(大記憶體伺服器減少提前交換):
echo "512 1024 2048" > /proc/sys/vm/freepages
# 或永久寫入 /etc/sysctl.conf
vm.freepages = 512 1024 2048
其他關鍵 vm 參數:
vm.swappiness (0-100):傾向交換積極度,伺服器建議 10-20,桌面 60。
vm.vfs_cache_pressure:傾向回收 inode/dentry 快取,預設 100。
vm.dirty_ratio/dirty_background_ratio:髒頁回寫閾值,影響寫入突發效能。
警告:核心參數調校需在測試機驗證,生產環境謹慎變更,做好回滾預案。
copyright ©
萬盛學電腦網 all rights reserved