Hướng dẫn tối ưu hóa mạng cho NVIDIA Jetson AGX Orin 64 GB
Hướng dẫn này trình bày quy trình hệ thống để tối ưu hóa hiệu suất mạng trên bộ công cụ phát triển NVIDIA Jetson AGX Orin, bao gồm tinh chỉnh bộ đệm TCP, điều chỉnh MTU, cấu hình tải xuống song song APT và sử dụng công cụ aria2. Bài viết cung cấp các bước chi tiết, kịch bản tự động hóa và hướng dẫn hoàn tác thay đổi dành cho nhà phát triển Edge AI.

Hướng dẫn này tài liệu hóa một cách tiếp cận có hệ thống để tối ưu hóa hiệu suất mạng trên bộ công cụ phát triển NVIDIA Jetson AGX Orin 64 GB đang chạy Ubuntu 22.04.5 LTS (aarch64) với JetPack 6.2.2, CUDA 12.6, cuDNN 9.3.0, OpenCV 4.8.0 và TensorRT 10.3.0.30. Quy trình này bao gồm tinh chỉnh bộ đệm TCP của kernel, điều chỉnh MTU trên giao diện có dây eno1, cấu hình tải xuống song song APT và công cụ tải xuống đa kết nối aria2. Tất cả các bước đều bao gồm sao lưu trước khi thay đổi và quy trình hoàn tác riêng biệt.
Hướng dẫn được cấu trúc dưới dạng quy trình từng bước hướng tới sản phẩm thay vì tóm tắt tham khảo. Nó bao gồm một tập lệnh Bash tương tác tổng hợp tự động phát hiện giao diện có dây chính (eno1 hoặc eth0), sao lưu các tệp cấu hình bị ảnh hưởng trước khi thực hiện bất kỳ thay đổi nào và chỉ áp dụng từng tối ưu hóa khi có sự đồng ý rõ ràng của người vận hành. Hướng dẫn khắc phục sự cố được đưa ra cho lỗi RTNETLINK answers: Device or resource busy thường gặp trong quá trình thay đổi MTU trên phần cứng Jetson.
Các quản trị viên hệ thống và nhà phát triển Edge AI có kinh nghiệm Linux ở mức trung cấp sẽ được hưởng lợi từ tài liệu này khi chuẩn bị Jetson AGX Orin cho các khối lượng công việc liên quan đến việc tải xuống mô hình lớn thường xuyên, cập nhật gói phần mềm thường xuyên hoặc chuyển dữ liệu băng thông cao liên tục. Hướng dẫn giả định quyền truy cập shell với đặc quyền sudo và sự quen thuộc với trình soạn thảo văn bản đầu cuối như nano.
Điều kiện tiên quyết và Môi trường
Thông số Phần cứng và Phần mềm
Bảng dưới đây mô tả môi trường mà tất cả các lệnh đã được xác thực. Việc áp dụng các tối ưu hóa này trên bản phát hành JetPack hoặc phiên bản kernel khác có thể yêu cầu điều chỉnh các giá trị tham số.
| Thành phần | Giá trị |
|---|---|
| Phần cứng | NVIDIA Jetson AGX Orin Developer Kit 64 GB |
| Hệ điều hành | Ubuntu 22.04.5 LTS aarch64 (L4T 36.5.0) |
| JetPack | nvidia-jetpack 6.2.2+b24 |
| CUDA | 12.6.68 |
| cuDNN | 9.3.0 |
| OpenCV | 4.8.0 |
| TensorRT | 10.3.0.30 |
| Kernel | 5.15.185-tegra |
Bảng 1 — Môi trường phần cứng và phần mềm đã được xác thực
Quyền và Công cụ được yêu cầu
Tất cả các bước cấu hình hệ thống đều yêu cầu quyền truy cập sudo. Các công cụ sau được sử dụng trong suốt hướng dẫn và có sẵn theo mặc định trên các cài đặt JetPack: nano, cp, sysctl, ip, apt, ping và bash. Tệp thực thi aria2c được cài đặt trong Phần 6.
Tên giao diện có dây chính
Trên bộ công cụ phát triển Jetson AGX Orin, giao diện Ethernet có dây được hiển thị là eno1 theo quy tắc đặt tên giao diện mạng có thể dự đoán được (udev rules). Một số hình ảnh tùy chỉnh hoặc cấu hình cũ hơn vẫn có thể sử dụng eth0. Ở nơi các lệnh nhắm đến một giao diện cụ thể, cả hai tên đều được cung cấp. Lệnh ip link xác định tên chính xác trên bất kỳ hệ thống nào.
Quy trình sao lưu trước khi thay đổi
Trước khi sửa đổi bất kỳ tệp cấu hình hệ thống nào, hãy tạo các bản sao lưu có dấu thời gian bằng cách sử dụng hậu tố .backup-pre-netopt. Quy ước này giúp các tệp sao lưu dễ dàng nhận diện và được các lệnh hoàn tác trong Phần 9 mong đợi.
Chạy lệnh sau một lần trước khi tiếp tục với bất kỳ phần tiếp theo nào:
# Sao lưu cấu hình sysctl
sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup-pre-netopt
# Chỉ sao lưu cấu hình song song APT nếu nó đã tồn tại
if [ -f /etc/apt/apt.conf.d/99parallel ]; then
sudo cp /etc/apt/apt.conf.d/99parallel /etc/apt/apt.conf.d/99parallel.backup-pre-netopt
fi
Xác minh rằng bản sao lưu đã được tạo:
ls -lh /etc/sysctl.conf.backup-pre-netopt
Bản sao lưu ghi lại trạng thái chưa được sửa đổi của /etc/sysctl.conf. Nếu tệp cấu hình APT chưa tồn tại (cài đặt lần đầu), không có bản sao lưu APT nào được tạo; tập lệnh hoàn tác sẽ xử lý trường hợp này bằng cách xóa tệp thay vì khôi phục bản sao lưu.
Chế độ hiệu suất tối đa
Tần số động của CPU và GPU có thể làm giảm thông lượng mạng gián tiếp bằng cách giới hạn khả năng xử lý sẵn có cho các thao tác của ngăn xếp TCP, mã hóa giao thức và xử lý dữ liệu phía nhận. NVIDIA cung cấp hai tiện ích để ép buộc Jetson vào cấu hình điện và xung nhịp cao nhất của nó:
sudo nvpmodel -m 0
sudo jetson_clocks
nvpmodel -m 0chọn mô hình điện 0, là cấu hình hiệu suất tối đa trên Jetson AGX Orin.jetson_clockskhóa tần số CPU, GPU và bộ nhớ ở giá trị tối đa của chúng và tắt chia tỷ lệ tần số động.
Các lệnh này có hiệu lực ngay lập tức nhưng không tồn tại qua các lần khởi động lại. Nếu khối lượng công việc của bạn khởi động lại sau khi khởi động lại hệ thống, hãy thêm cả hai lệnh vào dịch vụ khởi động hoặc chạy chúng thủ công trước khi bắt đầu các phiên tải xuống hoặc suy luận lớn.
Tinh chỉnh tham số mạng Kernel
Các tham số TCP ở mức kernel chi phối mức bộ nhớ được phân bổ cho bộ đệm socket và cách ngăn xếp TCP hoạt động trong điều kiện thông lượng cao. Các mặc định trong một hình ảnh Ubuntu tiêu chuẩn là thận trọng và không được tinh chỉnh cho các lần chuyển dữ liệu băng thông cao liên tục loại cần thiết khi kéo các điểm kiểm tra mô hình AI lớn.
Chỉnh sửa cấu hình sysctl
Mở tệp cấu hình sysctl:
sudo nano /etc/sysctl.conf
Thêm khối sau vào cuối tệp:
# Tắt IPv6 (tùy chọn — tránh độ trễ trong phân giải tên trên mạng chỉ IPv4)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# Tăng bộ đệm TCP cho tải xuống tốc độ cao
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_window_scaling = 1
Lưu ý: Khối tắt IPv6 là tùy chọn. Bỏ qua ba dòng này nếu hệ thống kết nối với các dịch vụ chỉ IPv6 hoặc song song (dual-stack). Tập lệnh tương tác trong Phần 8 sẽ nhắc chọn lựa này tại thời điểm chạy.
Áp dụng cấu hình
Lưu tệp và áp dụng tất cả cài đặt ngay lập tức mà không cần khởi động lại:
sudo sysctl -p
Đầu ra liệt kê từng tham số đã áp dụng và giá trị mới của nó. Các cài đặt này tăng kích thước bộ đệm nhận và gửi socket tối đa lên 16 MB, mở rộng bộ nhớ cửa sổ TCP mặc định và tối đa, tắt hình phạt khởi động chậm sau khi kết nối không hoạt động và xác nhận rằng tỷ lệ cửa sổ TCP đang hoạt động.
Điều chỉnh MTU cho giao diện có dây
Đơn vị truyền tải tối đa (MTU) kiểm soát tải trọng lớn nhất có thể được gửi trong một khung Ethernet đơn lẻ mà không có phân mảnh IP. Sự không khớp giữa MTU của Jetson và MTU đường dẫn mạng có thể gây truyền lại âm thầm và làm giảm thông lượng. Trên một số mạng, cài đặt MTU thành 1450 byte tránh phân mảnh do chi phí gói gọn VPN hoặc đường hầm.
Xác định giao diện có dây đang hoạt động
Liệt kê tất cả các giao diện mạng và giá trị MTU hiện tại của chúng:
ip link
Một đầu ra điển hình trên Jetson AGX Orin trông như sau:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...
3: wlP1p1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 ...
5: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 4X:bX:4X:4X:6X:XX brd ff:ff:ff:ff:ff:ff
6: l4tbr0: <BROADCAST,MULTICAST> mtu 1500 ...
7: usb0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 ...
8: usb1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 ...
9: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 ...
Giao diện có dây đang hoạt động là giao diện ở trạng thái UP có địa chỉ Ethernet phần cứng. Trên Jetson AGX Orin, đây thường là eno1. Chỉ thay đổi MTU của giao diện đang mang lưu lượng được tối ưu hóa.
Thay đổi MTU tại thời gian chạy
Đối với eno1:
sudo ip link set dev eno1 mtu 1450
Đối với hệ thống sử dụng eth0:
sudo ip link set dev eth0 mtu 1450
Thay đổi này có hiệu lực ngay lập tức nhưng sẽ đặt lại về 1500 khi khởi động lại. Để có cấu hình persistant, hãy sử dụng Netplan hoặc NetworkManager như được mô tả trong Phần 5.4.
Khắc phục sự cố: "RTNETLINK answers: Device or resource busy"
Lỗi này cho biết một dịch vụ cấp cao hơn đang giữ giao diện hoặc giao diện là thành viên của một cầu nối (bridge). Nó thường gặp trên Jetson vì eno1 có thể được liên kết với cầu nối l4tbr0 được sử dụng cho mạng USB.
Tùy chọn 1 — Tắt giao diện, thay đổi MTU, sau đó bật lại:
sudo ip link set dev eno1 down
sudo ip link set dev eno1 mtu 1450
sudo ip link set dev eno1 up
Thay thế eno1 bằng eth0 nếu đó là giao diện đang hoạt động. Kết nối sẽ bị gián đoạn trong thời gian ngắn trong khi giao diện bị tắt.
Tùy chọn 2 — Thay đổi MTU trên cầu nối thay vì giao diện vật lý:
Nếu lưu lượng đi qua l4tbr0, hãy áp dụng MTU cho cầu nối:
sudo ip link set dev l4tbr0 mtu 1450
Hãy xác minh kết nối ngay sau khi thay đổi này.
Tùy chọn 3 — Sử dụng trình quản lý mạng để áp dụng thay đổi:
Đối với các kết nối được quản lý bởi NetworkManager:
nmcli connection show
nmcli connection modify "<tên-kết-nối>" 802-3-ethernet.mtu 1450
nmcli connection down "<tên-kết-nối>"
nmcli connection up "<tên-kết-nối>"
Đối với các giao diện được quản lý bởi Netplan, hãy chỉnh sửa tệp YAML liên quan (xem Phần 5.4) và áp dụng.
Nếu không có tùy chọn nào giải quyết lỗi mà không làm gián đoạn kết nối, hãy để MTU ở mức 1500 và tập trung vào tinh chỉnh TCP kernel ở Phần 4 và công cụ aria2 ở Phần 6.
MTU cố định qua Netplan
Để thay đổi MTU tồn tại qua các lần khởi động lại, hãy chỉnh sửa tệp cấu hình Netplan cho giao diện. Tệp thường nằm tại /etc/netplan/01-netcfg.yaml hoặc tệp có tên tương tự trong /etc/netplan/:
sudo nano /etc/netplan/01-netcfg.yaml
Thêm hoặc cập nhật khóa mtu cho giao diện:
network:
ethernets:
eno1:
mtu: 1450
dhcp4: true
version: 2
Áp dụng thay đổi:
sudo netplan apply
Tối ưu hóa tải xuống APT và cài đặt aria2
Cấu hình tải xuống song song APT
APT tải xuống danh sách gói và lưu trữ tuần tự theo mặc định, điều này làm dưới mức sử dụng băng thông có sẵn khi tìm nạp nhiều gói. Một tệp cấu hình drop-in trong /etc/apt/apt.conf.d/ có thể cải thiện hành vi này mà không cần sửa đổi cấu hình APT chính.
Tạo đoạn cấu hình:
sudo nano /etc/apt/apt.conf.d/99parallel
Thêm nội dung sau:
Acquire::Languages "none";
Acquire::Queue-Mode "access";
Acquire::Retries "3";
Acquire::http::Pipeline-Depth "5";
Acquire::Languages "none"ngăn chặn việc tải xuống các tệp mô tả gói đã dịch, hiếm khi cần thiết trên hệ thống Edge AI không có giao diện người dùng (headless).Acquire::Queue-Mode "access"ưu tiên tìm nạp từ cùng một máy chủ trước khi chuyển đổi, giảm chi phí kết nối.Acquire::Retries "3"thử lại các lần tải xuống không thành công lên đến ba lần trước khi báo lỗi.Acquire::http::Pipeline-Depth "5"gửi tối đa năm yêu cầu HTTP cùng một lúc trên các kết nối liên tục, cải thiện thông lượng trên các liên kết đáng tin cậy.
Các thay đổi có hiệu lực vào lần gọi sudo apt update hoặc sudo apt upgrade tiếp theo.
aria2 cho tải xuống tệp lớn
Đối với các điểm kiểm tra mô hình AI, lưu trữ tập dữ liệu hoặc hình ảnh container vượt quá vài gigabyte, aria2 mở nhiều kết nối song song đến cùng một máy chủ và chia tệp thành các phân đoạn. Cách tiếp cận này có thể làm bão hòa băng thông có sẵn hiệu quả hơn các công cụ đơn luồng như wget hoặc curl.
Cài đặt aria2:
sudo apt install aria2 -y
Tải xuống một tệp lớn sử dụng 16 kết nối song song và 16 phân đoạn:
aria2c -x 16 -s 16 "URL_TỚI_TỆP_LỚN"
-x 16đặt số lượng kết nối đồng thời tối đa trên mỗi máy chủ.-s 16chia tải xuống thành 16 phân đoạn, mỗi phân đoạn được tìm nạp bởi một kết nối riêng biệt.
Giảm cả hai giá trị này trên các mạng tắc nghẽn hoặc khi máy chủ đích thực thi giới hạn kết nối cho mỗi IP.
Tập lệnh tự động hóa tổng hợp
Tập lệnh tương tác dưới đây tổng hợp tất cả các bước tối ưu hóa thành một tệp duy nhất. Nó tự động phát hiện giao diện có dây chính, tạo bản sao lưu trước bất kỳ thay đổi nào và nhắc xác nhận trước mỗi phần tối ưu hóa. Việc tắt IPv6 và tinh chỉnh APT được trình bày dưới dạng tùy chọn để duy trì tính tương thích với các môi trường phụ thuộc vào các hành vi đó.
Tạo tệp tập lệnh:
nano ~/jetson_network_opt.sh
Dán nội dung sau:
#!/usr/bin/env bash
set -e
echo "=== Kịch bản Tối ưu hóa Mạng Jetson ==="
echo "Kịch bản này sẽ:"
echo " - Sao lưu /etc/sysctl.conf và /etc/apt/apt.conf.d/99parallel (nếu có)"
echo " - Tùy chỉnh tham số TCP kernel"
echo " - Tắt IPv6 (tùy chọn)"
echo " - Điều chỉnh MTU cho giao diện có dây chính (tùy chọn)"
echo " - Tối ưu hóa tải xuống APT (tùy chọn)"
echo " - Cài đặt aria2 (tùy chọn)"
echo
read -rp "Tiếp tục? [y/N]: " CONTINUE
if [[ ! "$CONTINUE" =~ ^[Yy]$ ]]; then
echo "Đang hủy bỏ."
exit 0
fi
echo
echo "== Phát hiện giao diện có dây chính =="
PRIMARY_IF=""
if ip link show eno1 &>/dev/null; then
PRIMARY_IF="eno1"
elif ip link show eth0 &>/dev/null; then
PRIMARY_IF="eth0"
fi
if [[ -z "$PRIMARY_IF" ]]; then
echo "Cảnh báo: không phát hiện eno1 hay eth0. Bạn có thể cần chỉnh sửa tập lệnh này để sử dụng tên giao diện của mình."
else
echo "Giao diện có dây chính được phát hiện: $PRIMARY_IF"
fi
echo
echo "== 1) Đang sao lưu các tệp cấu hình =="
if [ -f /etc/sysctl.conf ]; then
sudo cp /etc/sysctl.conf /etc/sysctl.conf.backup-pre-netopt
echo "Sao lưu: /etc/sysctl.conf.backup-pre-netopt đã tạo."
fi
if [ -f /etc/apt/apt.conf.d/99parallel ]; then
sudo cp /etc/apt/apt.conf.d/99parallel /etc/apt/apt.conf.d/99parallel.backup-pre-netopt
echo "Sao lưu: /etc/apt/apt.conf.d/99parallel.backup-pre-netopt đã tạo."
fi
echo
echo "== 2) Tinh chỉnh tham số TCP kernel =="
read -rp "Áp dụng tinh chỉnh bộ đệm và cửa sổ TCP trong /etc/sysctl.conf? [y/N]: " APPLY_TCP
if [[ "$APPLY_TCP" =~ ^[Yy]$ ]]; then
sudo bash -c 'cat >> /etc/sysctl.conf <<EOF
# Tối ưu hóa mạng Jetson - Bộ đệm TCP
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_window_scaling = 1
EOF'
sudo sysctl -p
echo "Tham số TCP đã áp dụng."
else
echo "Bỏ qua tinh chỉnh tham số TCP."
fi
echo
echo "== 3) Hành vi IPv6 =="
echo "Nếu bạn dựa vào IPv6 (ví dụ: mạng chỉ IPv6 hoặc song song), ĐỪNG tắt nó."
read -rp "Tắt IPv6 qua /etc/sysctl.conf? [y/N]: " DISABLE_IPV6
if [[ "$DISABLE_IPV6" =~ ^[Yy]$ ]]; then
sudo bash -c 'cat >> /etc/sysctl.conf <<EOF
# Tối ưu hóa mạng Jetson - tắt IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOF'
sudo sysctl -p
echo "IPv6 đã tắt (sysctl)."
else
echo "Giữ IPv6 bật."
fi
echo
echo "== 4) Điều chỉnh MTU cho giao diện có dây chính =="
if [[ -z "$PRIMARY_IF" ]]; then
echo "Không phát hiện giao diện chính (eno1/eth0). Bỏ qua thay đổi MTU."
else
ip link show "$PRIMARY_IF"
read -rp "Đặt MTU 1450 trên $PRIMARY_IF (chỉ thời gian chạy, đặt lại khi khởi động lại)? [y/N]: " SET_MTU
if [[ "$SET_MTU" =~ ^[Yy]$ ]]; then
if ! sudo ip link set dev "$PRIMARY_IF" mtu 1450; then
echo "Thất bại khi đặt MTU trên $PRIMARY_IF (thiết bị hoặc tài nguyên bận?)."
echo "Bạn có thể cần điều chỉnh MTU qua NetworkManager, Netplan hoặc cầu nối (ví dụ: l4tbr0)."
else
echo "Đã cố gắng điều chỉnh MTU trên $PRIMARY_IF."
fi
else
echo "Bỏ qua thay đổi MTU."
fi
fi
echo
echo "== 5) Tối ưu hóa APT =="
echo "Điều này sẽ tạo hoặc ghi đè /etc/apt/apt.conf.d/99parallel."
read -rp "Áp dụng tối ưu hóa APT? [y/N]: " APPLY_APT
if [[ "$APPLY_APT" =~ ^[Yy]$ ]]; then
sudo bash -c 'cat > /etc/apt/apt.conf.d/99parallel <<EOF
Acquire::Languages "none";
Acquire::Queue-Mode "access";
Acquire::Retries "3";
Acquire::http::Pipeline-Depth "5";
EOF'
echo "Tối ưu hóa APT đã áp dụng."
else
echo "Bỏ qua tối ưu hóa APT."
fi
echo
echo "== 6) Cài đặt aria2 =="
read -rp "Cài đặt aria2 để tải xuống đa kết nối? [y/N]: " INSTALL_ARIA2
if [[ "$INSTALL_ARIA2" =~ ^[Yy]$ ]]; then
sudo apt update
sudo apt install -y aria2
echo "aria2 đã cài đặt."
else
echo "Bỏ qua cài đặt aria2."
fi
echo
echo "Đã hoàn tất tất cả các bước được chọn."
Cấp quyền thực thi cho tập lệnh và chạy nó:
chmod +x ~/jetson_network_opt.sh
~/jetson_network_opt.sh
Tập lệnh sẽ thoát sạch sẽ nếu người vận hành từ chối bất kỳ bước nào. Việc phát hiện giao diện chạy một lần khi khởi động và kết quả được sử dụng lại cho các thao tác MTU. Nếu không có eno1 hay eth0 nào tồn tại, phần MTU sẽ được tự động bỏ qua với thông báo chẩn đoán.
Hoàn tác mọi thay đổi
Nếu kết nối bị suy giảm hoặc hành vi hệ thống thay đổi bất ngờ sau khi áp dụng các tối ưu hóa này, hãy hoàn nguyên về trạng thái trước tối ưu hóa bằng cách sử dụng các bản sao lưu được tạo trong Phần 2.
Khôi phục cấu hình sysctl và APT
Chạy lệnh sau để khôi phục cả hai tệp cấu hình:
# Khôi phục cấu hình sysctl nếu bản sao lưu tồn tại
if [ -f /etc/sysctl.conf.backup-pre-netopt ]; then
sudo cp /etc/sysctl.conf.backup-pre-netopt /etc/sysctl.conf
echo "Đã khôi phục /etc/sysctl.conf từ bản sao lưu."
sudo sysctl -p
fi
# Khôi phục tệp tối ưu hóa APT nếu bản sao lưu tồn tại, nếu không thì xóa nó
if [ -f /etc/apt/apt.conf.d/99parallel.backup-pre-netopt ]; then
sudo cp /etc/apt/apt.conf.d/99parallel.backup-pre-netopt /etc/apt/apt.conf.d/99parallel
echo "Đã khôi phục /etc/apt/apt.conf.d/99parallel từ bản sao lưu."
else
if [ -f /etc/apt/apt.conf.d/99parallel ]; then
sudo rm /etc/apt/apt.conf.d/99parallel
echo "Đã xóa /etc/apt/apt.conf.d/99parallel được tạo bởi tối ưu hóa."
fi
fi
Lệnh gọi sysctl -p trong khối khôi phục sẽ tải lại ngay lập tức các tham số kernel gốc mà không yêu cầu khởi động lại.
Hoàn tác MTU
Thay đổi MTU chỉ áp dụng tại thời gian chạy và tự động đặt lại về mặc định khi khởi động lại lần tới. Để hoàn tác ngay lập tức mà không cần khởi động lại:
Đối với eno1:
sudo ip link set dev eno1 mtu 1500
Hoặc cho eth0:
sudo ip link set dev eth0 mtu 1500
Gỡ cài đặt aria2
Nếu aria2 chỉ được cài đặt cho quy trình công việc này và không còn cần thiết nữa:
sudo apt remove -y aria2
Sau khi hoàn tác, hãy chạy lại xác minh kết nối để xác nhận hoạt động bình thường.
Kết quả thực tế
- Chế độ hiệu suất tối đa:
nvpmodel -m 0vàjetson_clocksloại bỏ việc điều tiết tần số CPU và GPU, đảm bảo khả năng xử lý nhất quán trong suốt hoạt động mạng liên tục. Cả hai lệnh phải được chạy lại sau khi khởi động lại trừ khi được tích hợp vào dịch vụ khởi động. - Cải thiện kích thước bộ đệm TCP: Các tham số kernel nâng giới hạn bộ đệm socket lên 16 MB và tắt hình phạt khởi động chậm sau các khoảng thời gian không hoạt động, cải thiện đáng kể thông lượng trên các liên kết băng thông cao mang lại việc chuyển tệp lớn.
- Kiểm soát IPv6 tùy chọn: Khối tắt IPv6 được trình bày dưới dạng lựa chọn rõ ràng thay vì mặc định, duy trì tính tương thích với môi trường song song và chỉ IPv6. Tập lệnh tương tác thực thi sự phân biệt này tại thời điểm chạy.
- Nhắm đúng giao diện: Các thay đổi MTU nhắm mục tiêu
eno1theo mặc định trên phần cứng Jetson AGX Orin, với dự phòng tự động sangeth0trong tập lệnh tự động hóa. Ba đường dẫn giải quyết cho lỗiRTNETLINK answers: Device or resource busyđược tài liệu hóa và kiểm tra. - Hiệu quả APT: Cấu hình drop-in
99parallelgiảm các lần tải xuống danh sách gói không cần thiết, cho phép pipelining HTTP và thêm khả năng thử lại mạnh mẽ mà không sửa đổi hành vi lõi của APT. - Tải xuống đa kết nối:
aria2c -x 16 -s 16làm bão hòa băng thông có sẵn khi tải xuống các lưu trữ mô hình AI lớn từ các máy chủ cho phép nhiều kết nối đồng thời. Công cụ cài đặt và gỡ cài đặt sạch sẽ qua APT. - Quản lý cấu hình an toàn: Các bản sao lưu với hậu tố
.backup-pre-netoptvà quy trình hoàn tác chuyên dụng giảm nguy cơ cấu hình sai. Tất cả các thay đổi đều có thể được hoàn tác mà không cần khởi động lại, ngoại trừ MTU (cũng tự động đặt lại khi khởi động lại).
Kết luận
Việc áp dụng các tối ưu hóa được mô tả trong hướng dẫn này lên Jetson AGX Orin 64 GB chạy JetPack 6.2.2 tạo ra sự cải thiện đáng kể về thông lượng mạng cho các quy trình phát triển Edge AI, đặc biệt là những quy trình liên quan đến việc tải xuống mô hình lớn lặp đi lặp lại và các bản cập nhật gói JetPack thường xuyên. Sự kết hợp giữa chế độ hiệu suất tối đa, bộ đệm TCP mở rộng, điều chỉnh MTU nhận biết giao diện, tinh chỉnh đường ống APT và tải xuống đa kết nối aria2 giải quyết các nút thắt chính gặp phải trên nền tảng này mà không cần xây dựng lại kernel hoặc trình điều khiển bên thứ ba.
Quy trình sao lưu và hoàn tác trong các Phần 2 và 8, cùng với tập lệnh tự động hóa tương tác trong Phần 7, giảm rủi ro vận hành xuống mức phù hợp cho cả hệ thống phát triển và hệ thống sát sản xuất. Mỗi tối ưu hóa được áp dụng với sự đồng ý rõ ràng và có thể được hoàn tác độc lập.
Đối với việc triển khai sản xuất, hãy xem xét mã hóa các cài đặt này vào một công cụ quản lý cấu hình như Ansible, cam kết các thay đổi YAML của Netplan để cấu hình MTU persistant và phối hợp với đội ngũ mạng địa phương để xác nhận rằng MTU 1450 byte là phù hợp cho đường dẫn mạng đang sử dụng. Tài liệu hóa bất kỳ sự khác biệt nào so với các giá trị được hiển thị ở đây cùng với phiên bản JetPack đang sử dụng, vì các bản cập nhật kernel và L4T có thể thay đổi hành vi ngăn xếp TCP mặc định.



