Tạo Swap File 50 GB trên Jetson AGX Orin: Tối ưu hóa cho mô hình AI lớn
Bài viết hướng dẫn quy trình tạo và tinh chỉnh tệp swap 50 GB trên NVIDIA Jetson AGX Orin 64 GB sử dụng SSD NVMe. Phương pháp này giúp mở rộng bộ nhớ ảo, cho phép chạy các mô hình ngôn ngữ lớn (LLM) 34B–70B mà không gặp lỗi thiếu bộ nhớ (OOM), đồng thời tối ưu hóa hiệu năng thông qua việc tinh chỉnh tham số swappiness.

Hướng dẫn này mô tả quy trình chi tiết để tạo, tinh chỉnh và quản lý một tệp swap lớn trên NVIDIA Jetson AGX Orin 64 GB chạy Ubuntu 22.04.5 LTS aarch64. Cấu hình này được tối ưu hóa đặc biệt cho việc chạy các Mô hình Ngôn ngữ Lớn (LLM) kết hợp với CUDA, cuDNN và TensorRT, tận dụng tốc độ cao của SSD NVMe làm kho lưu trữ chính cho swap.
Việc triển khai này đã được xác thực trên cấu hình tệp swap 50 GB, hoạt động song song với các lớp zram hiện có. Quy trình này mở rộng dung lượng bộ nhớ sử dụng được, cho phép triển khai các mô hình lớn hơn mà không gây ra lỗi thiếu bộ nhớ (Out-Of-Memory - OMM) ngay lập tức, miễn là độ trễ hoán đổi trang từ bộ nhớ sang ổ cứng vẫn ở mức chấp nhận được.
Đây là tài liệu tham khảo kỹ thuật dành cho người dùng Jetson và Linux nâng cao, cung cấp phương pháp tái tạo khả thi để mở rộng bộ nhớ ảo trên phần cứng AI biên nhằm hỗ trợ các mô hình yêu cầu khắt khe từ 34B đến 70B tham số.
Môi trường Phần cứng và Phần mềm
Môi trường mục tiêu là Bộ phát triển NVIDIA Jetson AGX Orin được trang bị 64 GB bộ nhớ thống nhất. Hệ thống chạy Ubuntu 22.04.5 LTS trên kernel aarch64 (5.15.185-tegra). Bản cài đặt bao gồm JetPack 6.2.2, cung cấp ngăn phần mềm cần thiết cho suy luận AI, bao gồm CUDA 12.6, cuDNN 9.3.0 và TensorRT 10.3.0.
Kho lưu trữ chính cho tệp swap là SSD NVMe, đóng vai trò là hệ thống tệp gốc. Lựa chọn này rất quan trọng để giảm thiểu ảnh hưởng tiêu cực đến hiệu suất trong quá trình hoạt động phân trang bộ nhớ.
| Thành phần | Chi tiết |
|---|---|
| Phần cứng | NVIDIA Jetson AGX Orin Developer Kit 64 GB |
| Hệ điều hành | Ubuntu 22.04.5 LTS aarch64 |
| Nhân (Kernel) | 5:15.185-tegra |
| RAM | 64 GB bộ nhớ thống nhất |
| JetPack | 6.2.2+b24 (nvidia-jetpack) |
| CUDA | 12.6 (nvcc 12.6.68) |
| cuDNN | 9.3.0 |
| TensorRT | 10.3.0.30-1+cuda12.5 |
Bảng 1 — Môi trường Jetson AGX Orin để cấu hình swap
Chiến lược Đặt Swap
Vị trí đặt swap hiệu quả được xác định bởi thông lượng và độ bền của môi trường lưu trữ bên dưới. Trên Jetson AGX Orin, hệ thống sử dụng eMMC cho phân vùng khởi động và SSD NVMe cho hệ thống tệp gốc chính.
| Lưu trữ | Tốc độ ước tính | Khuyến nghị |
|---|---|---|
| SSD NVMe | ~2000 MB/s | Tốt nhất — Vị trí chính cho swap |
| eMMC | ~400 MB/s | Dự phòng phụ; rủi ro hao mòn cao hơn |
| Ổ USB | ~100 MB/s | Không khuyến nghị do độ trễ cao |
Bảng 2 — Khuyến nghị lưu trữ hỗ trợ swap trên Jetson AGX Orin
Đối với cấu hình này, tệp swap được đặt trực tiếp trên hệ thống tệp gốc được hỗ trợ bởi NVMe (/) tại đường dẫn /swapfile. Điều này đảm bảo hiệu suất I/O cao nhất có thể cho các thao tác phân trang.
Tạo Swap File từng bước
Các bước sau phác thảo việc phân bổ và khởi tạo tệp swap 50 GB.
1. Kiểm tra Thiết bị và Dung lượng Trống
Trước khi phân bổ, hãy xác minh không gian khả dụng trên phân vùng mục tiêu. Lệnh lsblk xác nhận các điểm gắn kết, trong khi df -h kiểm tra dung lượng.
# Liệt kê các khối thiết bị và điểm gắn kết
lsblk -o NAME,SIZE,TYPE,MOSQL,ROTA
# Kiểm tra không gian trống trên hệ thống tệp gốc
df -h /
Cấu hình hiện tại cho thấy có khoảng 636 GB không gian khả dụng trên /dev/nvme0n1p1, nhiều hơn mức đủ để phân bổ 50 GB.
2. Tạo Swap File
Tiện ích fallocate được sử dụng để phân bổ trước không gian tệp một cách hiệu quả.
# Phân bổ 50 GB cho tệp swap trên hệ thống tệp gốc
sudo fallocate -l 50G /swapfile
3. Bảo mật và Định dạng Swap File
Bảo mật là tối quan trọng; tệp swap phải được giới hạn chỉ cho quyền truy cập của root để ngăn chặn rò rỉ dữ liệu nhạy cảm từ bộ nhớ sang ổ cứng.
# Giới hạn quyền chỉ đọc/ghi của root
sudo chmod 600 /swapfile
# Định dạng tệp dưới dạng không gian swap
sudo mkswap /swapfile
4. Kích hoạt Swap File
Sau khi định dạng, tệp swap cần được kích hoạt trong kernel đang chạy.
# Kích hoạt tệp swap
sudo swapon /swapfile
# Xác minh các thiết bị swap đang hoạt động
swapon --show
# Xác nhận tổng lượng bộ nhớ và swap
free -h
Lưu cấu hình Swap qua các lần Khởi động
Để đảm bảo tệp swap tự động được kích hoạt lại khi khởi động lại hệ thống, một mục phải được thêm vào tệp cấu hình /etc/fstab.
# Thêm định nghĩa tệp swap vào /etc/fstab
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Xác nhận mục tồn tại
grep swap /etc/fstab
Tinh chỉnh Swappiness và zram cho Workload LLM
Hiệu suất tối ưu cho suy luận LLM yêu cầu tinh chỉnh kernel để ưu tiên RAM vật lý và lớp zram nén hơn là tệp swap dựa trên ổ cứng.
Điều chỉnh Swappiness và Áp lực Cache (Cache Pressure)
Việc giảm giá trị swappiness hướng dẫn kernel tránh chuyển các trang sang SSD NVMe trừ khi thực sự cần thiết.
# Áp dụng cài đặt ngay lập tức
sudo sysctl vm.swappiness=10
sudo sysctl vm.vfs_cache_pressure=50
# Lưu giữ cài đặt qua các lần khởi động lại
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
# Tải lại cấu hình sysctl
sudo sysctl -p
| Swappiness | Mô tả Hành vi |
|---|---|
| 0 | Chỉ swap khi hoàn toàn hết RAM |
| 10 | Khuyến nghị cho workload LLM |
| 60 | Mặc định tiêu chuẩn của Linux |
| 100 | Swap rất tích cực |
Bảng 3 — Giá trị Swappiness và hành vi cho việc sử dụng LLM trên Jetson
Mối quan hệ giữa zram và /swapfile
Hệ thống Jetson sử dụng kiến trúc bộ nhớ phân tầng. Dịch vụ zram-config cung cấp một số thiết bị swap dựa trên RAM nén (từ zram0 đến zram11). Thứ tự phân bổ bộ nhớ như sau:
- RAM vật lý (64 GB bộ nhớ thống nhất)
- zram (Swap nén trong RAM, tổng cộng ~31 GB)
- Swap File NVMe (50 GB trên
/swapfile)
Cách tiếp cận phân tầng này cho phép kernel xử lý các phân bổ nhỏ, có thể nén trong lớp zram hiệu quả cao trước khi phải dùng đến swap dựa trên ổ đĩa NVMe có độ trễ cao hơn.
Xóa hoặc Cấu hình lại Swap File
Nếu cần lấy lại dung lượng ổ cứng, tệp swap có thể được ngừng hoạt động theo các bước sau:
# Tắt sử dụng tệp swap
sudo swapoff /swapfile
# Xóa mục khỏi /etc/fstab
sudo sed -i '/\/swapfile/d' /etc/fstab
# Xóa tệp vật lý
sudo rm /swapfile
# Tải lại sysctl để làm mới trạng thái kernel
sudo sysctl -p
Kết quả Thực tế
- Tăng dung lượng: Thiết lập thành công vùng swap 50 GB trên NVMe, mở rộng tổng dung lượng bộ nhớ ảo.
- Ổn định: Cung cấp biên độ an toàn quan trọng để chạy các mô hình 70B tham số (ví dụ: Q4_K_M) có thể vượt quá giới hạn RAM vật lý 64 GB trong thời gian cao điểm.
- Phân cấp tối ưu: Tích hợp swap dựa trên ổ đĩa mới vào kiến trúc
zramhiện có mà không làm gián đoạn lớp RAM nén. - Kiên trì: Đạt được cấu hình hoàn toàn tự động tồn tại qua các lần khởi động lại hệ thống nhờ tinh chỉnh
/etc/fstab.
Kết luận
Việc cấu hình một tệp swap lớn dựa trên NVMe là một chiến lược cực kỳ hiệu quả để tối đa hóa tính hữu ích của NVIDIA Jetson AGX Orin 64 GB cho các khối lượng công việc AI quy mô lớn. Bằng cách làm theo quy trình được tài liệu hóa về việc sử dụng fallocate, thiết lập quyền hạn chế nghiêm ngặt chmod 600, và tinh chỉnh swappiness xuống 10, người dùng có thể đạt được một môi trường ổn định có khả năng xử lý các mô hình vượt quá giới hạn bộ nhớ vật lý.
Mặc dù ảnh hưởng hiệu suất của việc swap dựa trên ổ đĩa là không thể tránh khỏi, việc sử dụng bộ nhớ NVMe tốc độ cao và cách tiếp cận phân tầng zram giúp giảm thiểu tác động đến độ trễ suy luận, biến nó thành một giải pháp khả thi cho xử lý hàng loạt hoặc không tương tác các mô hình có từ 34B đến 70B tham số.
Bài viết liên quan

Công nghệ
Meta đổ lỗi cho thiếu hụt RAM khi tăng giá 100 USD cho tai nghe Quest 3
16 tháng 4, 2026

Công nghệ
Máy tính góc cơ điện tử bên trong hệ thống theo dõi sao của máy bay ném bom B-52
18 tháng 4, 2026
Công nghệ
Fuzix OS 0.4 chính thức phát hành: Cải tiến mạng, định dạng tệp và hỗ trợ phần cứng phong phú
18 tháng 4, 2026
