Updated Socket Manager and Resource Allocation (markdown)

Jari Sundell
2026-06-16 23:10:13 +09:00
parent 44e8e00171
commit 929d64e7c7
+22 -7
@@ -33,20 +33,35 @@
## Categories ## Categories
* **`generic`** (Index 0) * **`generic`**
Peer connections and uncategorized connections. Constraints are immutable. Peer connections and uncategorized connections. This category does not have `min/max_alloc` as it receives the remaining allocation.
* **`http`** * **`http`**
libcurl HTTP connections. HTTP connections.
* **`internal`** * **`internal`**
DHT, UDP trackers, internal thread interrupt signals, and BitTorrent listen sockets. DHT, UDP trackers, listening and various internal sockets.
* **`scgi`** * **`rpc`**
SCGI transport layers and RPC interface backends. RPC related sockets.
* **`files`** * **`files`**
File descriptors, including memory-mapped filesystem operations (`mmap`). File descriptors.
## Default Allocation Constraints
| open_max | generic minimum | reserved | http | internal | rpc | files |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| **$\ge$ 32768** | 12288 | 512 | 128 | 64 | 64 | 4096 |
| **16384 to 32767** | 12288 | 512 | 128 | 64 | 64 | 2048 |
| **8096 to 16383** | 6144 | 256 | 64 | 32 | 48 | 1024 |
| **1024 to 8095** | 512 | 128 | 32 | 32 | 32 | 128 |
| **< 1024** | 256 | 64 | 16 | 16 | 16 | 64 |
The baseline descriptor limits for each socket category are auto-calculated at startup or when calling `adjust_alloc` using _ulimit open files_.
Allocation to other categories result in `generic` receiving less than `generic minimum` an `internal_error` is thrown.
## Examples ## Examples