plimit(1) on Solnix vs Linux and the BSDs

plimit is the illumos command at /usr/bin/plimit that reads or sets the soft and hard resource limits of running processes by PID. Linux's closest tool is prlimit, which also accepts a command to run. FreeBSD's procstat can only display limits, and the bundle shows no FreeBSD command that changes them.

What Solnix runs

A default Solnix system runs the illumos plimit at /usr/bin/plimit. No other variants are shipped. It comes from pkgs.solnix.illumos-world-man.

Differences

Compared withTopicWhat differs
Linuxsoft/hard separatorSolnix plimit separates the soft and hard limits with a comma (soft,hard). Linux prlimit uses a colon (soft:hard, soft:, :hard). A limit string copied from one system fails on the other.
Source: Solnix plimit(1) OPTIONS (soft,hard); Linux prlimit(1) DESCRIPTION (soft:hard)
Linuxselecting the resourceSolnix uses single-letter options for the limit to change: -c, -d, -f, -n, -s, -t and -v. Linux prlimit uses --resource[=limits]. The Linux text in the bundle does not list the option names, only a pointer to a RESOURCE OPTIONS section.
Source: Solnix plimit(1) SYNOPSIS, OPTIONS; Linux prlimit(1) SYNOPSIS, DESCRIPTION
Linuxtarget process or commandSolnix plimit takes a list of PIDs as operands and can act on several at once. Linux prlimit takes one --pid PID, or runs a given command with the limits applied. The Solnix page documents no way to launch a command.
Source: Solnix plimit(1) OPERANDS (pid, process ID list); Linux prlimit(1) SYNOPSIS, DESCRIPTION (When command is given)
Linuxomitted limit valueOn Solnix, an empty soft field sets only the hard limit, and if the hard limit is omitted the comma may be dropped. On Linux, if one value is not given the existing one is kept, and a bare value sets both limits to the same value.
Source: Solnix plimit(1) OPTIONS; Linux prlimit(1) DESCRIPTION
Linuxunlimited and unitsSolnix accepts the string unlimited, and numbers with suffixes k, m, h or mm:ss. Suffix meaning depends on the resource: m is minutes for CPU time. Linux accepts -1 or 'unlimited'. The Linux text in the bundle documents no unit suffixes.
Source: Solnix plimit(1) OPTIONS (nk, nm, nh, mm:ss); Linux prlimit(1) DESCRIPTION
Linux, FreeBSDdefault units differ per optionSolnix limit arguments have per-option default units: -c and -f use 512-byte blocks, -d, -s and -v use kilobytes, -t uses seconds, and -n has no unit. A bare number is not in the same unit for every option.
Source: Solnix plimit(1) OPTIONS (-c, -d, -f, -n, -s, -t, -v)
FreeBSDread-only versus read-writeFreeBSD procstat rlimit (or -l) displays a process's resource limits, and rlimitusage shows their usage. Neither is described as changing limits. Solnix plimit both reports and sets them.
Source: FreeBSD procstat(1) rlimit | -l, rlimitusage; Solnix plimit(1) DESCRIPTION
FreeBSDhow to display limitsOn Solnix, plimit [-km] pid... reports limits, and -k and -m choose kilobytes or megabytes for sizes. On FreeBSD you give procstat a command (rlimit or -l) and PIDs, and -a covers all processes. The FreeBSD text shows no size-unit options.
Source: Solnix plimit(1) SYNOPSIS, -k, -m; FreeBSD procstat(1) SYNOPSIS, rlimit | -l, -a
Linux, FreeBSDpermissionsOn Solnix, only the process owner or the super-user can get or set limits, and only the super-user can raise a hard limit. The Linux page and the trimmed FreeBSD text do not state permission rules for limits.
Source: Solnix plimit(1) DESCRIPTION; Linux prlimit(1); FreeBSD procstat(1) (limits not covered)
all fourOpenBSD and NetBSDThe bundle has no counterpart page for OpenBSD or NetBSD, so no comparison with them can be drawn.
Source: Bundle header lists only linux prlimit(1) and freebsd procstat(1)

Everyday tasks

TaskSolnixLinuxFreeBSD
show a process's resource limitsplimit pidprlimit --pid PIDprocstat rlimit pid (or procstat -l pid)
set core file size limits on a running processplimit -c soft,hard pidprlimit --pid PID --resource=limits (soft:hard)—
set open file descriptor limits on a running processplimit -n soft,hard pidprlimit --pid PID --resource=limits (soft:hard)—
run a command with changed limits—prlimit [options] [--resource[=limits]] command [argument...]—
show limit usage——procstat rlimitusage pid

Standards

  • POSIX: plimit is not a POSIX.1-2024 utility.
  • Linux: The prlimit(1) page cites ulimit(1p) in SEE ALSO and says the prlimit(2) system call is supported since Linux 2.6.36.

Writing portable scripts

  • Do not assume one tool: plimit exists on Solnix, prlimit on Linux, and procstat on FreeBSD (read-only). Branch on which one is present.
  • Write limits for the right syntax: comma (soft,hard) for plimit, colon (soft:hard) for prlimit. Use unlimited for no limit, which both pages accept.

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.