❤️ AZDIGI chính thức cập nhật hệ thống blog mới hoàn chỉnh. Tuy nhiên có thể một số bài viết bị sai lệch hình ảnh, hãy ấn nút Báo cáo bài viết ở cuối bài để AZDIGI cập nhật trong thời gian nhanh nhất. Chân thành cám ơn.
Load average cao là cơn ác mộng của mọi admin. VPS bỗng nhiên lag, website không load được, SSH vào cũng chậm chạp. Nhưng con số load average thực ra báo hiệu điều gì? Và quan trọng hơn, làm sao biết nó cao hay chưa, nguyên nhân từ đâu?
Bài này sẽ giúp bạn đọc hiểu load average đúng cách, phân biệt các loại tắc nghẽn khác nhau, và có quy trình xử lý nhanh khi VPS quá tải.
Load average là gì?

Load average đo lường số lượng tiến trình đang đợi CPU hoặc I/O tại một thời điểm. Khác với CPU usage (đo tỷ lệ %), load average đo số lượng công việc xếp hàng.
Hình dung như cầu có 4 làn xe (4 CPU cores). Load average = 4.0 nghĩa là có 4 xe đang chạy trên cầu (100% capacity). Load average = 8.0 nghĩa là có 4 xe trên cầu + 4 xe xếp hàng chờ (200% capacity).
# Xem load average hiện tại
uptime
Output mẫu:
15:23:45 up 7 days, 3:42, 2 users, load average: 2.15, 1.89, 1.65
Ba con số cuối là load average trong 1 phút, 5 phút, và 15 phút gần nhất.
Đọc hiểu load average đúng cách
So sánh với số CPU cores
Bước đầu tiên là xem VPS có bao nhiêu CPU cores:
# Đếm số CPU cores
nproc
# Hoặc xem chi tiết
lscpu | grep "^CPU(s):"
Output mẫu:
4
Quy tắc cơ bản:
- Load = số cores: VPS đang chạy ở 100% capacity
- Load > số cores: VPS quá tải, có công việc đang xếp hàng chờ
- Load < số cores: VPS còn nhàn rỗi
Ví dụ VPS 4 cores:
- Load 2.0 = 50% capacity (bình thường)
- Load 4.0 = 100% capacity (đầy nhưng chưa quá tải)
- Load 6.0 = 150% capacity (quá tải, 2 tiến trình đang chờ)
💡 Mẹo: Load average > số CPU cores = VPS quá tải, cần xử lý ngay
Thresholds cần chú ý
- 0.7 × cores: Mức cần theo dõi. VPS 4 cores thì load 2.8 cần để ý
- 1.0 × cores: Mức cần xử lý. Load 4.0 trên VPS 4 cores cần can thiệp
- 5.0 × cores: Mức khẩn cấp. Load 20.0 trên VPS 4 cores = VPS đã quá tải nghiêm trọng
Xu hướng tăng giảm
So sánh ba con số để biết xu hướng:
- 1min > 15min: Load đang tăng (có thể báo hiệu sự cố)
- 1min < 15min: Load đang giảm (tình hình đang cải thiện)
- Ba số gần bằng nhau: Load ổn định
# Ví dụ load đang tăng nguy hiểm
load average: 8.45, 6.12, 3.21
# Load 1 phút = 8.45 > load 15 phút = 3.21 → đang tăng nhanh
# Ví dụ load đang giảm
load average: 2.15, 3.89, 4.65
# Load 1 phút = 2.15 < load 15 phút = 4.65 → đang cải thiện
Điểm đặc biệt của load average trên Linux
Linux tính load average khác với hệ điều hành khác. Ngoài tiến trình đang chạy và chờ CPU, Linux còn tính cả tiến trình ở trạng thái TASK_UNINTERRUPTIBLE (đang đợi disk I/O).
Điều này có nghĩa gì? Load cao không phải lúc nào cũng do CPU quá tải.
Ví dụ thực tế
VPS 2 cores có load = 4.0 nhưng khi check top:
top
%Cpu(s): 5.2 us, 2.1 sy, 0.0 ni, 12.7 id, 80.0 wa, 0.0 hi, 0.0 si, 0.0 st
Chú ý cột %wa = 80.0 (I/O wait). Đây không phải CPU quá tải mà là disk I/O chậm. CPU thực ra đang idle 12.7% nhưng load vẫn cao vì có nhiều tiến trình đang chờ disk.
Trường hợp này thường xảy ra khi:
- Disk SSD bị degraded hoặc đầy
- Database query chậm, đọc/ghi file lớn
- Backup đang chạy
- RAID đang rebuild
⚠️ Lưu ý: Load cao có thể do CPU overload, I/O bottleneck, hoặc cả hai. Phải phân biệt để xử lý đúng cách.
Chẩn đoán 3 loại tắc nghẽn

Load cao có thể do 3 nguyên nhân chính. Dùng vmstat để phân biệt:
# Xem thống kê hệ thống trong 5 giây
vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 187264 85532 890140 0 0 8 12 45 78 2 1 97 0 0
1 0 0 187156 85532 890144 0 0 0 0 32 52 1 0 99 0 0
1 1 0 186944 85532 890148 0 0 0 16 35 58 1 1 98 0 0
3 0 0 186832 85532 890152 0 0 0 0 41 71 3 1 96 0 0
2 0 0 186720 85532 890156 0 0 0 0 38 64 2 1 97 0 0
Các cột quan trọng:
- r: Số tiến trình runnable (đang chờ CPU)
- b: Số tiến trình blocked (đang chờ I/O)
- swpd: Swap memory đã dùng
- us: % CPU user space
- sy: % CPU system/kernel
- id: % CPU idle
- wa: % CPU đang chờ I/O
- st: % CPU bị steal (VPS)
1. CPU-bound load
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
6 0 0 512000 85532 890140 0 0 2 8 85 156 78 15 7 0 0
5 1 0 511800 85532 890144 0 0 0 4 92 189 82 12 6 0 0
Dấu hiệu:
- r cao (6, 5): Nhiều tiến trình chờ CPU
- us + sy cao (78+15=93%, 82+12=94%): CPU đang làm việc cực khổ
- id thấp (7%, 6%): CPU gần như không có thời gian nghỉ
- wa thấp (0%): Không có vấn đề I/O
Giải pháp: Tối ưu ứng dụng, database queries, hoặc điều chỉnh cấu hình.
2. RAM-bound load
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 2 125000 8000 12000 45000 15 28 45 67 156 298 25 18 42 15 0
2 3 128000 6000 11500 43000 22 35 38 89 189 341 18 22 38 22 0
Dấu hiệu:
- swpd cao (125000, 128000): Đang dùng swap nhiều
- si, so > 0: Swap in/out đang hoạt động
- free thấp (8000, 6000): RAM sắp hết
- wa tăng (15%, 22%): Đang đợi swap I/O
ℹ️ Giải pháp: Xem VPS hết RAM để xử lý memory leak.
3. I/O-bound load
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 8 0 512000 85532 890140 0 0 234 1456 89 167 8 5 12 75 0
2 6 0 511900 85532 890144 0 0 189 1289 76 145 5 3 15 77 0
Dấu hiệu:
- b cao (8, 6): Nhiều tiến trình chờ I/O
- wa cao (75%, 77%): CPU đang chờ disk
- bi, bo cao: Disk đang đọc/ghi nhiều
- id thấp nhưng us+sy thấp: CPU nhàn nhưng không thể làm gì vì chờ disk
ℹ️ Giải pháp: Xem Disk I/O cao để tối ưu storage.
Quy trình xử lý nhanh

Khi VPS lag, làm theo 4 bước này:
Bước 1: Kiểm tra load có thực sự cao không?
# Xem load hiện tại
uptime
# Xem số CPU cores
nproc
# Kết luận: Load 8.15 trên 4 cores = 200% capacity = quá tải
Output mẫu:
15:23:45 up 7 days, 3:42, 2 users, load average: 8.15, 6.89, 4.65
4
Bước 2: Xem tổng quan CPU
# Chạy top và nhấn phím 1 để xem từng CPU core
top
# Nhấn 1 để toggle per-CPU view
%Cpu0 : 12.5 us, 6.2 sy, 0.0 ni, 81.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 95.8 us, 4.2 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 15.2 us, 3.1 sy, 0.0 ni, 81.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 18.9 us, 2.8 sy, 0.0 ni, 78.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
Chú ý:
- %wa: Nếu cao (>20%) = I/O problem
- %st: Nếu cao (>10%) = VPS bị steal CPU (oversold)
- %id: Nếu thấp (<20%) = CPU problem
Bước 3: Phân loại bằng vmstat
vmstat 1 5
Dựa vào output vmstat ở trên để xác định CPU-bound, RAM-bound hay I/O-bound.
Bước 4: Đi sâu vào từng loại
- CPU-bound: Dùng
htoptìm tiến trình CPU cao, kill hoặc nice xuống - RAM-bound: Dùng
free -hvàps aux --sort=-%memtìm memory leak - I/O-bound: Dùng
iotoptìm tiến trình disk I/O cao
Một số tools hữu ích khác
# Xem load realtime
watch -n 1 uptime
# Xem tiến trình theo CPU usage
htop
# Xem disk I/O theo tiến trình (cần install)
sudo iotop
# Xem network connections
ss -tuln
# Xem log lỗi hệ thống
sudo journalctl -f
Giám sát và cảnh báo
Thay vì chờ VPS lag mới xử lý, nên setup giám sát tự động:
- Netdata: Giám sát realtime, web interface đẹp
- Zabbix: Giám sát enterprise, phức tạp nhưng mạnh
- Simple cron script: Check load mỗi 5 phút, send email cảnh báo
💡 Mẹo: Setup monitoring để phát hiện vấn đề sớm thay vì đợi VPS lag mới xử lý.
ℹ️ Xem thêm Giám sát VPS cho hướng dẫn chi tiết.
VPS AZDIGI và tối ưu hiệu năng
Tại AZDIGI, chúng tôi optimized infrastructure để giảm thiểu load cao:
- SSD NVMe: Giảm I/O wait time
- CPU dedicated: Không oversell, %st luôn = 0
- RAM ECC: Ít lỗi memory corruption
- Network 1Gbps: Ít bottleneck network I/O
Nếu VPS của bạn thường xuyên load cao dù đã tối ưu, có thể do:
- Undersized cho workload hiện tại
- Application không được tối ưu
- Database query chậm
Đăng ký VPS AZDIGI để trải nghiệm performance ổn định, hoặc liên hệ support để được tư vấn sizing phù hợp.
Load average 1.0 trên single-core VPS có nghĩa là gì?
Load 1.0 trên 1-core VPS nghĩa là CPU đang chạy ở 100% capacity. Khác với CPU usage 100%, điều này hoàn toàn bình thường nếu chỉ diễn ra trong thời gian ngắn. Nếu load 1.0 kéo dài nhiều giờ thì cần kiểm tra tiến trình nào đang ăn CPU.
Tại sao load cao nhưng CPU usage lại thấp?
Đây là trường hợp I/O-bound. Linux tính load average bao gồm cả tiến trình đang chờ disk I/O. CPU có thể idle nhưng load vẫn cao vì nhiều tiến trình đang chờ đọc/ghi file hoặc database query. Check %wa trong `top` để xác nhận.
Load average bao nhiêu thì cần lo lắng?
Phụ thuộc số CPU cores. Quy tắc 70%: trên VPS 4 cores, load > 2.8 cần theo dõi. Load > 4.0 cần xử lý. Load > 20.0 là khẩn cấp. Quan trọng hơn là xu hướng: load đang tăng nhanh hay giảm?
Có nên restart VPS khi load quá cao?
Restart là giải pháp cuối cùng. Trước tiên hãy SSH vào (dù chậm) và kill tiến trình có vấn đề. Nếu SSH không được thì dùng console từ control panel. Restart mà không tìm nguyên nhân thì vấn đề sẽ lặp lại.
Xem thêm: Tổng hợp lỗi hiệu năng VPS cho troubleshooting toàn diện.
Có thể bạn cần xem thêm
- Giám sát hiệu suất VPS: Công cụ miễn phí và cách thiết lập
- VPS tự khởi động lại hoặc bị treo: Nguyên nhân và cách xử lý
- Quản lý process trên Linux - ps, kill, htop cho VPS
- VPS bị chậm do mạng: Cách kiểm tra và khắc phục
- WordPress trên VPS chạy chậm: Hướng dẫn tối ưu toàn diện
- Hướng dẫn phân tích, giải thích lệnh TOP trong Linux
Về tác giả
Trần Thắng
Chuyên gia tại AZDIGI với nhiều năm kinh nghiệm trong lĩnh vực web hosting và quản trị hệ thống.