rctladm(8) on Solnix vs Linux and the BSDs
rctladm is the illumos command at /usr/sbin/rctladm. It lists resource controls (rctls) and switches their system-wide logging actions on or off. FreeBSD rctl(8) is a different tool: it adds, removes and shows per-subject limit rules, whereas rctladm does not define limits.
The manual pages
- Solnix: rctladm(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: rctl(8) 15.1-RELEASE (different command, similar job)
What Solnix runs
A default Solnix system runs the illumos rctladm at /usr/sbin/rctladm. No other variants are shipped. The page points to prctl(1) and resource_controls(7) for the rctls themselves. Linux, OpenBSD and NetBSD have no counterpart page in the bundle.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD | what the command manages | Solnix rctladm lists active rctls and changes their global actions (such as syslog logging of violations). FreeBSD rctl manages a database of rules (subject, resource, action, amount) and can add or remove them. Source: Solnix rctladm(8) DESCRIPTION, -l, -e, -d; FreeBSD rctl(8) DESCRIPTION, -a, -r |
| FreeBSD | adding and removing limits | rctladm has no option to add or remove a limit rule. FreeBSD rctl -a adds a rule and rctl -r removes rules matching a filter. The rctladm page points to setrctl(2) and prctl(1) for rctls.Source: Solnix rctladm(8) SYNOPSIS, SEE ALSO; FreeBSD rctl(8) -a, -r |
| FreeBSD | default with no options | Solnix rctladm with no options is the same as -l and lists all rctls. FreeBSD rctl with no options prints the currently defined RCTL rules.Source: Solnix rctladm(8) DESCRIPTION; FreeBSD rctl(8) DESCRIPTION |
| FreeBSD | -l meaning | On Solnix, -l takes no argument and lists rctls, optionally limited to the name operands. On FreeBSD, -l takes a filter and shows the rules applying to that process, including user, jail and login class rules.Source: Solnix rctladm(8) -l; FreeBSD rctl(8) -l filter |
| FreeBSD | -u meaning | Solnix -u re-applies the settings in /etc/rctladm.conf, and any name operands are ignored. FreeBSD -u takes a filter and shows resource utilization for a process, user, login class or jail.Source: Solnix rctladm(8) -u; FreeBSD rctl(8) -u filter |
| FreeBSD | persistent configuration | Solnix rctladm reads /etc/rctladm.conf when run with -u. The FreeBSD rctl(8) page does not name a configuration file here. It refers to rctl.conf(5) in SEE ALSO.Source: Solnix rctladm(8) -u; FreeBSD rctl(8) SEE ALSO |
| FreeBSD | enable and disable actions | Solnix -e and -d turn a global action on or off for the named rctls, and they need at least one name. -d all clears every global action. syslog can take a severity, as syslog=level. FreeBSD rctl has no equivalent options.Source: Solnix rctladm(8) -d, -e, OPERANDS; FreeBSD rctl(8) SYNOPSIS |
| FreeBSD | defaults for logging | On Solnix there is no global logging of rctl violations by default. The FreeBSD page does not describe a comparable default. Source: Solnix rctladm(8) NOTES; FreeBSD rctl(8) DESCRIPTION |
| FreeBSD | exit status | rctladm exits 0 on success, 1 on a fatal error (other named rctls are still processed) and 2 for invalid options. FreeBSD rctl documents only 0 on success and >0 on error. Source: Solnix rctladm(8) EXIT STATUS; FreeBSD rctl(8) EXIT STATUS |
| FreeBSD | output options | rctladm has no -h or -n. FreeBSD rctl -h prints values with unit suffixes and -n prints user IDs numerically.Source: Solnix rctladm(8) SYNOPSIS; FreeBSD rctl(8) -h, -n |
Everyday tasks
| Task | Solnix | FreeBSD |
|---|---|---|
| list resource controls or rules | rctladm -l [name...] | rctl [filter] |
| show rules or controls for one process | see prctl(1) | rctl -l filter |
| show resource usage | see prctl(1) | rctl -u filter |
| add a limit | see setrctl(2) and prctl(1) | rctl -a rule |
| remove a limit | — | rctl -r filter |
| enable global logging of violations | rctladm -e syslog name | — |
| re-apply saved settings | rctladm -u | — |
Standards
- POSIX: rctladm is not a POSIX.1-2024 utility.
- Solnix: The rctladm page points to attributes(7) in SEE ALSO, but the bundle text does not include an interface stability table.
Writing portable scripts
- Do not treat rctladm and rctl as interchangeable. Check which tool exists and write separate code paths, because the model (global actions versus a rule database) differs.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.