You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/environment-setup/configuration.md
+17-2Lines changed: 17 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,13 +25,28 @@ fs.mqueue.msg_max = 256
25
25
fs.mqueue.queues_max = 1024
26
26
```
27
27
28
-
If running many Agnocast processes, you may also need to increase the per-user message queue memory limit:
28
+
#### Per-user POSIX message queue memory limit
29
+
30
+
Each bridge manager message queue consumes memory proportional to the maximum message size and queue depth. When running many Agnocast processes simultaneously, the per-user POSIX message queue memory limit (`RLIMIT_MSGQUEUE`) may be exceeded, causing `mq_open` to fail.
31
+
32
+
To increase the limit, either add the following line to `/etc/security/limits.conf`:
29
33
30
34
```bash
31
-
# In /etc/security/limits.conf or systemd unit
32
35
* - msgqueue unlimited
33
36
```
34
37
38
+
Or use `prlimit` to change the limit for the current shell:
39
+
40
+
```bash
41
+
sudo prlimit --pid=$$ --msgqueue=unlimited
42
+
```
43
+
44
+
You can verify the current limit with:
45
+
46
+
```bash
47
+
ulimit -q
48
+
```
49
+
35
50
## RT Throttling (for CallbackIsolatedExecutor)
36
51
37
52
If using real-time scheduling with the CallbackIsolatedExecutor, you may need to increase the RT throttling limit. The default allows RT tasks to use 95% of each period:
Copy file name to clipboardExpand all lines: docs/environment-setup/index.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,8 +48,8 @@ Install kernel headers (required for DKMS to build the kernel module) and the Ag
48
48
```bash
49
49
sudo apt install linux-headers-$(uname -r)
50
50
sudo apt install \
51
-
agnocast-kmod-v2.3.1 \
52
-
agnocast-heaphook-v2.3.1
51
+
agnocast-kmod-v2.3.3 \
52
+
agnocast-heaphook-v2.3.3
53
53
```
54
54
55
55
!!! note
@@ -65,22 +65,22 @@ sudo apt install \
65
65
- **minor** — Incremented when the kmod syscall API changes. `agnocastlib` and `agnocast-kmod` with matching major and minor versions are guaranteed to work correctly together.
66
66
- **patch** — Incremented for all other changes.
67
67
68
-
Packages use version-pinned names (e.g., `agnocast-kmod-v2.3.1`) to ensure all components are at exactly the same version.
68
+
Packages use version-pinned names (e.g., `agnocast-kmod-v2.3.3`) to ensure all components are at exactly the same version.
69
69
70
70
### 3. Build the ROS packages from source
71
71
72
72
Since the ROS packages are not yet distributed from the ROS build farm, build them from source:
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.1*`), and this source build step will no longer be necessary.
83
+
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.3*`), and this source build step will no longer be necessary.
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.1*`), and this source build step will no longer be necessary.
32
+
Once the ROS build farm release is available, the ROS packages will also be installable via apt (e.g., `ros-jazzy-agnocast=2.3.3*`), and this source build step will no longer be necessary.
33
33
34
34
## 3. Reload the kernel module
35
35
@@ -45,6 +45,6 @@ sudo modprobe agnocast
45
45
46
46
When upgrading, keep the [versioning rules](index.md) in mind:
47
47
48
-
-**Patch upgrades** (e.g., 2.3.1 → 2.3.2) — Safe. No API or syscall changes.
48
+
-**Patch upgrades** (e.g., 2.3.3 → 2.3.2) — Safe. No API or syscall changes.
49
49
-**Minor upgrades** (e.g., 2.3.x → 2.4.0) — `agnocastlib` and `agnocast-kmod` must be upgraded together, as the kmod syscall API may have changed.
50
50
-**Major upgrades** — User-facing API may have breaking changes. Review the changelog before upgrading.
0 commit comments