Loading...

Performance Tuning Cơ Bản FortiGate — CPU/Memory, Conserve Mode

1. Liên hệ thực tế

Vào giờ cao điểm, một khách hàng gọi báo FortiGate "tự nhiên chặn hết mọi kết nối mới" trong khoảng 10 phút rồi tự hồi phục. Không có thay đổi cấu hình nào trước đó. Anh Nam kiểm tra log hệ thống và thấy dòng cảnh báo:

logdesc="Memory conserve mode entered"
service="kernel" conserve="on" total=997 MB used=707 MB red="877 MB"

Đây chính là bằng chứng: thiết bị đã vượt ngưỡng bộ nhớ và tự động kích hoạt Conserve Mode — cơ chế tự bảo vệ khiến FortiGate ưu tiên giữ hệ thống sống thay vì tiếp tục nhận traffic mới bình thường.

Chị Lan giải thích thêm cho anh Nam: "Đây không phải lỗi ngẫu nhiên, đây là hành vi được thiết kế có chủ đích. Việc của mình không phải là 'sửa lỗi' theo nghĩa tìm bug, mà là tìm ra vì sao memory tăng cao bất thường vào đúng khung giờ đó, và cân nhắc xem model hiện tại có còn đủ tải cho nhu cầu thực tế của khách hàng hay không."


2. Kiến thức cốt lõi

2.1 Conserve Mode là gì

Conserve Mode là cơ chế tự bảo vệ của FortiOS khi bộ nhớ khả dụng xuống thấp. Thay vì để hệ thống treo hoặc crash hoàn toàn, FortiGate chủ động giảm bớt các tác vụ tốn nhiều memory (như một số chức năng antivirus scanning, buffer inspection) để duy trì hoạt động cơ bản, đồng thời có thể bắt đầu từ chối kết nối mới nếu tình trạng tiếp tục xấu đi.

Các Ngưỡng Bộ Nhớ (Conserve Mode) Trên FortiGate 100% 95% 88% 82% 0% An toàn Critical (Chạm 100%) Trống bộ nhớ, Kernel panic, thiết bị có thể reboot/mất ổn định. Extreme Threshold (~95%) Bắt đầu drop session mới. Thực hiện Fail-Open/Fail-Close theo cấu hình. Red Threshold (~88%) — VÀO Conserve Mode Bắt đầu hạn chế cấu hình, chuyển AV/IPS sang bypass hoặc drop để giảm RAM. Green Threshold (~82%) — THOÁT Conserve Mode Bộ nhớ giảm đủ sâu. FortiGate quay trở lại hoạt động đầy đủ bình thường. Trạng thái Bình Thường (0% – 82%) Tất cả tính năng (UTM, Inspection, Management) hoạt động 100% công suất. 💡 Lưu ý quan trọng: • Khoảng cách từ 82% tới 88% gọi là vùng trễ (Hysteresis) để tránh FortiGate liên tục bật/tắt Conserve Mode khi RAM dao động nhẹ. • Ngưỡng mặc định có thể thay đổi bằng lệnh: config system global % Sử Dụng RAM

2.2 Ba ngưỡng bộ nhớ chính

FortiOS quản lý hành vi theo ba ngưỡng phần trăm RAM sử dụng, có thể xem trực tiếp trên thiết bị:

diagnose hardware sysinfo conserve

Kết quả mẫu:

conserve mode: on
total RAM: 997 MB
memory used: 735 MB 73% of total RAM
memory freeable: 173 MB 17% of total RAM
memory used + freeable threshold extreme: 947 MB 95% of total RAM
memory used threshold red: 877 MB 88% of total RAM
memory used threshold green: 817 MB 82% of total RAM
  • Threshold Green (~82%): dưới ngưỡng này, hệ thống hoạt động hoàn toàn bình thường.
  • Threshold Red (~88%): vượt ngưỡng này, FortiGate vào Conserve Mode — bắt đầu điều chỉnh hành vi các engine inspection để tiết kiệm bộ nhớ.
  • Threshold Extreme (~95%): mức nguy hiểm hơn — FortiGate bắt đầu từ chối phiên mới (drop session) để bảo vệ các kết nối hiện có và sự ổn định tổng thể của hệ thống.

⚠️ Lưu ý: Các con số % cụ thể (82/88/95) là ví dụ minh họa từ tài liệu Fortinet trên một model tham chiếu — giá trị chính xác có thể khác đôi chút tùy model và tổng RAM vật lý. Luôn kiểm tra bằng lệnh diagnose hardware sysinfo conserve trực tiếp trên thiết bị đang xử lý thay vì giả định theo con số cố định.

2.3 Xác định nguyên nhân memory tăng cao

Khi phát hiện Conserve Mode đã hoặc đang kích hoạt, quy trình chẩn đoán hợp lý:

  1. Xác nhận thời điểm và mức độ qua log hệ thống (Log & Report > System Events, hoặc execute log filter category 1 / execute log display nếu GUI phản hồi chậm do chính conserve mode).
  2. Xác định tiến trình nào đang chiếm nhiều RAM nhất bằng diagnose sys top (đã học ở bài CLI diagnostic nâng cao).
  3. Đối chiếu với số lượng session tại thời điểm đó — memory tăng đột biến thường đi kèm số session tăng bất thường, có thể do traffic spike hợp lệ (giờ cao điểm) hoặc bất thường (tấn công, một client bị lỗi tạo hàng loạt kết nối).
  4. Kiểm tra các tính năng tốn nhiều bộ nhớ đang bật có tương xứng với năng lực model hay không — ví dụ SSL Deep Inspection trên toàn bộ traffic, hoặc bật đồng thời nhiều UTM profile nặng trên một model entry-level.

2.4 Các hướng xử lý phổ biến

  • Tối ưu lại phạm vi UTM inspection: không phải mọi traffic đều cần Deep Inspection SSL hay Antivirus toàn diện — thu hẹp phạm vi áp dụng theo đúng nhu cầu thực tế (đã học nguyên tắc phân loại SSL Inspection ở Nhóm 3) giúp giảm tải xử lý và bộ nhớ đáng kể.
  • Rà soát Session TTL (đã học ở bài Session table & Session TTL) — TTL đặt quá cao trên nhiều dải cổng khiến session table phình to không cần thiết, gián tiếp làm tăng áp lực bộ nhớ.
  • Xem xét nâng cấp model nếu mức sử dụng tài nguyên đã ổn định ở mức cao ngay cả trong điều kiện vận hành bình thường (không phải do sự cố tạm thời) — đây là dấu hiệu model hiện tại đã tới hoặc vượt giới hạn năng lực thiết kế cho khối lượng traffic thực tế.
  • Kiểm tra bất thường traffic: một số trường hợp memory tăng đột biến là do tấn công (như SYN flood tạo hàng loạt session half-open) chứ không phải traffic hợp lệ — cần đối chiếu với FortiView Threats hoặc log IPS trước khi kết luận là vấn đề năng lực phần cứng thuần túy.

2.5 Cấu hình threshold (khi thực sự cần thiết)

Có thể tùy chỉnh ngưỡng qua CLI, nhưng đây là thao tác cần cân nhắc kỹ, không nên áp dụng đại trà:

config system global
    set memory-use-threshold-red 88
    set memory-use-threshold-extreme 95
    set memory-use-threshold-green 82
end

⚠️ Lưu ý: Hạ thấp ngưỡng red để "phòng xa" nghe có vẻ an toàn nhưng thực chất khiến FortiGate vào Conserve Mode sớm hơn và thường xuyên hơn, ảnh hưởng tới hiệu năng inspection ngay cả khi hệ thống chưa thực sự nguy cấp. Việc điều chỉnh threshold chỉ nên thực hiện dựa trên khuyến nghị cụ thể từ Fortinet TAC cho tình huống đặc thù, không phải là giải pháp tự ý áp dụng khi gặp Conserve Mode.

🔄 Khác biệt version FortiOS: Cơ chế và tên gọi ba ngưỡng (green/red/extreme) nhất quán qua các bản 7.0/7.2/7.4. Từ 7.2 trở đi, log sự kiện liên quan conserve mode được bổ sung thêm chi tiết ngữ cảnh (ví dụ liệt kê rõ hơn top process tại thời điểm kích hoạt) giúp việc chẩn đoán nguyên nhân nhanh hơn ngay từ log, không cần chạy thêm lệnh riêng.


3. Hỏi & Đáp

Conserve Mode có phải luôn là dấu hiệu thiết bị bị lỗi hoặc bị tấn công không?

Không nhất thiết. Đây có thể đơn giản là dấu hiệu traffic đang vượt quá năng lực thiết kế của model hiện tại vào giờ cao điểm hợp lệ. Cần đối chiếu thêm dữ liệu FortiView/log IPS để phân biệt giữa tải cao hợp lệ và dấu hiệu tấn công trước khi kết luận nguyên nhân.

Sau khi thoát Conserve Mode, các kết nối bị từ chối trong lúc đó có tự động thiết lập lại không?

Không tự động — các kết nối mới bị từ chối trong lúc Conserve Mode ở mức Extreme sẽ thất bại ngay tại thời điểm đó từ góc nhìn của client/ứng dụng, và cần được client tự thử lại (retry) sau khi FortiGate đã thoát khỏi trạng thái này.

Tăng RAM có phải luôn là giải pháp đúng khi gặp Conserve Mode thường xuyên?

Nâng cấp phần cứng là một hướng hợp lý nếu đã xác nhận tải là hợp lệ và tương xứng với nhu cầu tăng trưởng thực tế. Tuy nhiên trước khi đề xuất nâng cấp, nên loại trừ các nguyên nhân có thể tối ưu bằng cấu hình (UTM profile quá rộng, Session TTL không hợp lý, traffic bất thường) — nhiều trường hợp Conserve Mode lặp lại xuất phát từ cấu hình chưa tối ưu hơn là giới hạn phần cứng thực sự.


4. Quiz

Câu 1: Khi memory vượt Threshold Red, FortiGate có hành vi gì?

  • A. Tự động khởi động lại thiết bị ngay lập tức
  • B. Vào Conserve Mode, điều chỉnh hành vi các engine inspection để tiết kiệm bộ nhớ
  • C. Tắt hoàn toàn mọi Firewall Policy
  • D. Tự động nâng cấp firmware

Câu 2: Ở Threshold Extreme, FortiGate bắt đầu làm gì để bảo vệ hệ thống?

  • A. Tăng tốc độ xử lý CPU
  • B. Từ chối (drop) các session mới
  • C. Tự động bật thêm interface dự phòng
  • D. Chuyển sang chế độ Transparent

Câu 3: Lệnh nào cho biết chính xác các ngưỡng và trạng thái Conserve Mode hiện tại trên thiết bị?

  • A. diagnose hardware sysinfo conserve
  • B. diagnose sys session list
  • C. get router info routing-table all
  • D. diagnose firewall vip list

Câu 4: Trước khi đề xuất nâng cấp phần cứng do Conserve Mode lặp lại thường xuyên, nên làm gì trước?

  • A. Nâng cấp ngay lập tức không cần kiểm tra thêm
  • B. Loại trừ các nguyên nhân có thể tối ưu bằng cấu hình như UTM profile quá rộng hoặc Session TTL không hợp lý
  • C. Hạ thấp Threshold Green xuống mức tối thiểu
  • D. Tắt hoàn toàn tính năng logging

👉 Đáp án

Câu 1: B Threshold Red là điểm kích hoạt Conserve Mode, FortiGate bắt đầu điều chỉnh để tiết kiệm bộ nhớ, chưa tới mức từ chối session mới.

Câu 2: B Extreme là ngưỡng nguy hiểm hơn Red — hệ thống bắt đầu chủ động từ chối kết nối mới để bảo vệ sự ổn định.

Câu 3: A Đây là lệnh chuyên dụng hiển thị chi tiết cả ba ngưỡng và trạng thái conserve mode hiện tại.

Câu 4: B Nên loại trừ các nguyên nhân cấu hình có thể tối ưu trước, vì nhiều trường hợp không thực sự cần nâng cấp phần cứng.


📚 Bài viết thuộc khóa học FortiGate của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Troubleshooting NAT/Routing thường gặp Mục lục khóa học FortiGate Zero Trust Network Access (ZTNA)