创建仓库
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
---
|
||||
tags: []
|
||||
aliases:
|
||||
- 1.1.7 实时性与吞吐量配置补丁 (Real-time & Throughput Patches)
|
||||
date created: 星期三, 十一月 19日 2025, 4:31:12 下午
|
||||
date modified: 星期三, 十一月 19日 2025, 4:31:40 下午
|
||||
---
|
||||
|
||||
# 1.1.7 实时性与吞吐量配置补丁 (Real-time & Throughput Patches)
|
||||
|
||||
| **组件** | **状态** | **说明** |
|
||||
| :--- | :--- | :--- |
|
||||
| **limits.conf** | 已修复 | 解决了 `max locked memory` 64KB 的致命限制。 |
|
||||
| **sysctl.conf** | 已优化 | 解决了 `numa_balancing` 抖动和网络缓冲不足的问题。 |
|
||||
| **GRUB CMDLINE** | 已加固 | 解决了 USB 设备的自动挂起风险。 |
|
||||
|
||||
-----
|
||||
|
||||
**1. 进程级资源锁定限制 (Process Memory Locking)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **信息解析**:已通过修改 `/etc/security/limits.conf`,将**锁定内存限制**从原先的致命值 **64KB** 提升至 `unlimited`。这确保了雷达实时线程和 DMA 缓冲区能成功调用 `mlock()`,杜绝内存换出导致的延迟。
|
||||
- 探测命令与结果:
|
||||
|
||||
```bash
|
||||
ulimit -l
|
||||
unlimited
|
||||
```
|
||||
|
||||
**2. 核心调度与实时节流策略 (CPU Scheduling & Throttling)**
|
||||
|
||||
- **关键性**:P0
|
||||
- **信息解析**:已停止并禁用 `irqbalance` 服务,并强制将内核 `numa_balancing` 设置为 `0`,消除了自动化的内存和中断迁移,以保障信号处理的时序确定性。同时,通过 `sched_rt_runtime_us = -1` 解除了对实时线程的 CPU 时间节流。
|
||||
- 探测命令与结果:
|
||||
|
||||
```bash
|
||||
systemctl status irqbalance | grep Active
|
||||
Active: inactive (dead) since …
|
||||
|
||||
sysctl kernel.numa_balancing
|
||||
kernel.numa_balancing = 0
|
||||
```
|
||||
|
||||
**3. 网络 UDP 缓冲区优化 (Network UDP Buffers)**
|
||||
|
||||
- **关键性**:P1
|
||||
- **信息解析**:已通过 `/etc/sysctl.d/99-radar-tuning.conf` 文件,将内核接收 (`rmem_max`) 和发送 (`wmem_max`) 缓冲区最大值从默认值提升至 25MB 以上,同时优化了 ARP 表大小。这对于处理降级 PCIe 链路 上的雷达高速 UDP 数据流是必要的。
|
||||
- 探测命令与结果:
|
||||
|
||||
```bash
|
||||
sysctl net.core.rmem_max
|
||||
net.core.rmem_max = 26214400
|
||||
```
|
||||
|
||||
**4. 硬件电源管理修正 (USB Power Management)**
|
||||
|
||||
- **关键性**:P2
|
||||
- **信息解析**:已通过 GRUB 引导参数,追加 `usbcore.autosuspend=-1`。这防止了连接的 USB 设备(如网卡)因系统默认的节能策略而进入休眠,保障了数据流的持续性。
|
||||
- 探测命令与结果:
|
||||
|
||||
```bash
|
||||
cat /proc/cmdline
|
||||
… usbcore.autosuspend=-1 …
|
||||
```
|
||||
Reference in New Issue
Block a user