psrinfo(8) on Solnix vs Linux and the BSDs
psrinfo is the illumos command at /usr/sbin/psrinfo that lists processors and their state, and also reports socket, core and CPU totals. Linux lscpu reads sysfs and /proc/cpuinfo and has a different option set. NetBSD cpuctl list covers the state listing but uses subcommands, not flags.
The manual pages
- Solnix: psrinfo(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: lscpu(1) util-linux-2.42.3 (different command, similar job)
- NetBSD: cpuctl(8) 11.0 (different command, similar job)
What Solnix runs
A default Solnix system runs the illumos psrinfo at /usr/sbin/psrinfo. No other variants are shipped. To change a processor's state, the page's SEE ALSO points to psradm(8), which this bundle does not describe.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | default output | Solnix psrinfo prints one line per configured processor with its state and the time of the last status change. lscpu prints a summary of CPU architecture information, and its per-CPU table needs -e.Source: Solnix psrinfo(8) DESCRIPTION; Linux lscpu(1) DESCRIPTION, -e |
| Linux | -p meaning | Solnix psrinfo -p prints the number of physical sockets, and with -v gives details per socket. Linux lscpu -p/--parse produces parse-friendly per-CPU output with an optional column list.Source: Solnix psrinfo(8) -p; Linux lscpu(1) -p, --parse |
| Linux | -c meaning | Solnix psrinfo -c only works with -t and reports the total number of CPU cores. Linux lscpu -c/--offline limits output to offline CPUs and works only with -e or -p.Source: Solnix psrinfo(8) -c; Linux lscpu(1) -c, --offline |
| Linux | -r meaning | Solnix psrinfo -r reports system-wide CPU properties in key=value form. The only property the page defines is smt_enabled. Linux lscpu -r/--raw is an output-format switch for -e, -p and -C.Source: Solnix psrinfo(8) -r; Linux lscpu(1) -r, --raw |
| Linux | -s meaning | Solnix psrinfo -s processor_id prints 1 if that processor is fully on-line and 0 otherwise, for use in shell scripts. Linux lscpu -s/--sysroot takes a directory and inspects another Linux instance.Source: Solnix psrinfo(8) -s; Linux lscpu(1) -s, --sysroot |
| Linux | machine-readable output | lscpu has -J/--json and --raw for structured output. The Solnix psrinfo page documents no JSON option. Its scripting aids are -s (0 or 1), -t totals and -r key=value output.Source: Linux lscpu(1) -J, --raw; Solnix psrinfo(8) SYNOPSIS, -s, -t, -r |
| Linux | totals | Solnix psrinfo -t prints the total number of CPUs, and combines with -p (sockets), -c (cores) or -S state (CPUs in that state). The lscpu page text in the bundle does not show an equivalent totals option.Source: Solnix psrinfo(8) -t, -S, -c, -p; Linux lscpu(1) OPTIONS |
| NetBSD | command style | NetBSD cpuctl takes a subcommand (list, identify, online, offline and others). Solnix psrinfo is flag-driven, and the page lists no subcommands. Source: NetBSD cpuctl(8) SYNOPSIS, DESCRIPTION; Solnix psrinfo(8) SYNOPSIS |
| NetBSD | changing CPU state | NetBSD cpuctl online, offline, intr and nointr change CPU state. Solnix psrinfo only displays information. The Solnix page refers to psradm(8) and p_online(2) under SEE ALSO, but does not describe them. Source: NetBSD cpuctl(8) online, offline, intr, nointr; Solnix psrinfo(8) DESCRIPTION, SEE ALSO |
| NetBSD | -v meaning | Solnix psrinfo -v shows processor type, floating point unit type and clock speed, or unknown. NetBSD cpuctl -v makes output more verbose, and for ucode it stops suppressing already-installed errors.Source: Solnix psrinfo(8) -v; NetBSD cpuctl(8) -v, ucode |
| NetBSD | CPU selection | Solnix psrinfo accepts processor IDs as single numbers, space-separated lists, or ranges such as 1-4, and mixes of these. NetBSD cpuctl takes a list of CPUs after the subcommand, and the page shows no range syntax. Source: Solnix psrinfo(8) OPERANDS; NetBSD cpuctl(8) identify, offline |
| FreeBSD, OpenBSD | no counterpart in bundle | The bundle includes no FreeBSD or OpenBSD counterpart page for psrinfo, so no comparison with those systems is made. Source: Bundle header (COUNTERPART lines list only linux and netbsd) |
Everyday tasks
| Task | Solnix | Linux | NetBSD |
|---|---|---|---|
| list processors and their state | psrinfo | lscpu -e | cpuctl list |
| show detailed CPU information | psrinfo -v | lscpu | cpuctl identify cpu |
| count physical sockets | psrinfo -p | — | — |
| count total CPUs | psrinfo -t | — | — |
| test whether a CPU is fully on-line in a script | psrinfo -s processor_id | — | — |
| set a CPU off line or on line | see psradm(8) | — | cpuctl offline cpu | cpuctl online cpu |
| check whether SMT is enabled | psrinfo -r smt_enabled | — | — |
Standards
- POSIX: psrinfo is not a POSIX.1-2024 utility.
- Solnix: The Solnix page documents no ATTRIBUTES or interface stability section.
Writing portable scripts
- Do not rely on one tool across systems. Branch on what is present (psrinfo, lscpu, cpuctl) and test what you need, such as CPU count, rather than parsing human-readable output.
- On Solnix, use psrinfo
-sprocessor_id (prints 1 or 0) or psrinfo-t(a total) in scripts instead of parsing the per-CPU lines.
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.