prstat(8) on Solnix vs Linux and the BSDs

prstat is the illumos process monitor at /usr/bin/prstat. It is the nearest equivalent of top(1), but the options are different. Sampling uses positional operands `[interval [count]]`, while the BSD top takes `-s time`, `-d count` and a `number` of processes. Many single-letter flags mean something else, notably -s, -S, -d, -p, -u, -U, -C, -H, -t, -T, -v and -j.

What Solnix runs

A default Solnix system runs the illumos prstat at /usr/bin/prstat. No other variants are shipped. The bundle's Linux top(1) text is trimmed to NAME, SYNOPSIS and DESCRIPTION, so no Linux option can be compared. The Linux page is not shown to document any of the flags below.

Differences

Compared withTopicWhat differs
FreeBSD, OpenBSD, NetBSDinterval and countprstat takes positional operands: interval in seconds (default 5) and count of repeats. By default it runs until it gets a termination signal. In top, -s sets the delay, -d sets the number of displays, and the positional number means how many processes to show.
Source: Solnix prstat(8) SYNOPSIS, OPERANDS; FreeBSD top(1) -s, -d, DESCRIPTION; OpenBSD top(1) -s, -d; NetBSD top(1) -s, -d
FreeBSD, OpenBSD, NetBSDdefault delayprstat samples every 5 seconds by default. FreeBSD top defaults to 2 seconds. OpenBSD and NetBSD top default to 5 seconds.
Source: Solnix prstat(8) OPERANDS (interval); FreeBSD top(1) -s; OpenBSD top(1) -s; NetBSD top(1) -s
FreeBSD, OpenBSD, NetBSD-s and -S meaningOn Solnix, -s key sorts descending and -S key sorts ascending (keys cpu, pri, rss, size, time). In top, -s sets the delay in seconds, and -S shows system processes. A top script using -S or -s gives different behaviour on prstat. Sorting in top uses -o field.
Source: Solnix prstat(8) -s, -S; FreeBSD top(1) -S, -s, -o; OpenBSD top(1) -S, -s, -o; NetBSD top(1) -S, -s, -o
FreeBSD, OpenBSD, NetBSDsort keysprstat sort keys are cpu, pri, rss, size and time. top -o uses the column name in lower case: res instead of rss, and FreeBSD adds keys like threads, io counters and jid. OpenBSD -o accepts a '-' prefix to reverse the order.
Source: Solnix prstat(8) -s (five key values); FreeBSD top(1) -o; OpenBSD top(1) -o; NetBSD top(1) -o
FreeBSD, OpenBSD, NetBSD-d meaningSolnix -d u|d selects how timestamps are printed: u for the internal time representation, d for standard date format. In top, -d count limits the number of displays before exit.
Source: Solnix prstat(8) -d; FreeBSD top(1) -d; OpenBSD top(1) -d; NetBSD top(1) -d
FreeBSD, OpenBSD, NetBSD-p, -u, -U filtersprstat -p takes a list of PIDs, -u a list of effective UIDs and -U a list of real UIDs, each by name or number. In top, -p takes one pid, and -u means do not map UIDs to names. FreeBSD and NetBSD -U take usernames only. OpenBSD -U takes a name or UID with an optional '-' prefix to hide.
Source: Solnix prstat(8) -p, -u, -U, DESCRIPTION; FreeBSD top(1) -p, -u, -U; OpenBSD top(1) -p, -u, -U; NetBSD top(1) -p, -u, -U
FreeBSD, OpenBSD, NetBSDthreads and -HSolnix -L gives one line per LWP, and -H adds a home lgroup column (LGRP). In FreeBSD and OpenBSD top, -H shows individual threads. In NetBSD top, -t shows threads and -H is not listed.
Source: Solnix prstat(8) -L, -H; FreeBSD top(1) -H; OpenBSD top(1) -H; NetBSD top(1) -t
FreeBSD, OpenBSD, NetBSD-C, -a, -t, -T, -v, -m, -j flag collisionsThe same letters mean different things. -C: prstat gives processor sets; FreeBSD toggles CPU display; OpenBSD shows arguments; NetBSD turns off colour. -a: prstat gives process+user reports; FreeBSD uses argv names; NetBSD shows all. -t: prstat user totals; FreeBSD hides top itself; OpenBSD shows routing tables. -T: prstat task reports; OpenBSD routing table; NetBSD colour tags. -v: prstat is -m; FreeBSD and NetBSD print version. -m: prstat microstate; FreeBSD/NetBSD mode. -j: prstat project list; FreeBSD shows jail ID.
Source: Solnix prstat(8) -C, -a, -t, -T, -v, -m, -j; FreeBSD top(1) -C, -a, -t, -v, -m, -j; OpenBSD top(1) -C, -t, -T; NetBSD top(1) -C, -a, -T, -v, -m
FreeBSD, OpenBSD, NetBSD-q versus -Rtop -q renices top to -20 (root only). prstat has no -q. Its -R puts prstat in the real time scheduling class, which is available only to the superuser.
Source: Solnix prstat(8) -R; FreeBSD top(1) -q; OpenBSD top(1) -q; NetBSD top(1) -q
FreeBSD, OpenBSD, NetBSDbatch mode and output to filestop has -b/-n batch mode, which is the default on dumb terminals or non-terminal output (default 1 display). prstat has no -b. Its -c prints new reports below earlier ones. With -c or output to a file, ntop and nbottom default to 15 and 5.
Source: Solnix prstat(8) -c, -n; FreeBSD top(1) -b, -d; OpenBSD top(1) -b, -n, -d; NetBSD top(1) -b, -n, -d
FreeBSD, OpenBSD, NetBSDzones, projects, tasks, processor setsprstat can filter or group by zone (-z, -Z), project (-j, -J), task (-k, -T), processor set (-C), CPU (-P) and lgroup (-h, -H). The BSD top pages show none of these. FreeBSD top has only jail filters (-J jail, -j).
Source: Solnix prstat(8) -z, -Z, -j, -J, -k, -T, -C, -P, -h, -H; FreeBSD top(1) -J, -j
FreeBSD, OpenBSD, NetBSDTOP environment variable and interactive modeFreeBSD, OpenBSD and NetBSD top read default arguments from the TOP environment variable and have an interactive mode (-i). The prstat page documents no environment variables and no interactive keys.
Source: FreeBSD top(1) ENVIRONMENT, -i; OpenBSD top(1) ENVIRONMENT, -i; NetBSD top(1) ENVIRONMENT, -i; Solnix prstat(8) (no ENVIRONMENT section)

Everyday tasks

TaskSolnixLinuxFreeBSDOpenBSDNetBSD
show busiest processes (default CPU order)prstattoptoptoptop
sample every 2 seconds, 3 times, then exitprstat 2 3—top -s 2 -d 3top -s 2 -d 3top -s 2 -d 3
sort by resident sizeprstat -s rss—top -o restop -o restop -o res
show one processprstat -p pidlist—top -p pidtop -p pidtop -p pid
show processes of one userprstat -U uidlist (real UID) or -u euidlist—top -U usernametop -U usertop -U username
show individual threadsprstat -L—top -Htop -Htop -t
per-user totalsprstat -t————
per-zone or per-jail viewprstat -Z, or -z zoneidlist—top -J jail——

Standards

  • POSIX: prstat is not a POSIX.1-2024 utility.

Writing portable scripts

  • Do not share top command lines with prstat. Interval, count, sort and user filters use different options, so branch on which tool exists.
  • For script-friendly output, use prstat with an interval and count (for example `prstat 1 2`, or -c to append reports) on Solnix. On the BSDs use top -b with -d count.

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.