pmap(1) on Solnix vs Linux and the BSDs
On Solnix, pmap is the illumos pmap at /usr/bin/pmap, and it accepts a core file as well as a pid. Its single-letter flags differ widely from Linux and NetBSD: -x, -A, -s, -l, -S and -a mean different things or do not exist elsewhere, and Solnix documents its output formats as Unstable.
The manual pages
- Solnix: pmap(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: pmap(1) procps-4.0.6
- NetBSD: pmap(1) 11.0
What Solnix runs
A default Solnix system runs the illumos pmap at /usr/bin/pmap. No other variants are shipped. The page's SEE ALSO lists plgrp(1), pmadvise(1) and lgrpinfo(1) for use alongside -L.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, NetBSD | -A meaning | Solnix -A takes an address range (start, start,, start,end or ,end) and limits output to the segments covering it. Linux -A takes low,high. NetBSD -A takes one address and dumps the vm_amap structure there.Source: Solnix pmap(1) -A; Linux pmap(1) -A, --range; NetBSD pmap(1) -A |
| NetBSD | -x missing on NetBSD | Solnix -x adds size, resident memory (RSS), anonymous memory and locked memory per mapping. The NetBSD page lists no -x, and its BUGS section says Solaris -x and -r would be nice to emulate. Linux -x exists but its page does not describe the columns.Source: Solnix pmap(1) -x, USAGE; NetBSD pmap(1) OPTIONS, BUGS; Linux pmap(1) -x, --extended |
| Linux, NetBSD | -r not implemented elsewhere | Solnix -r prints the process's reserved addresses. The Linux page has no -r. The NetBSD page has no -r, and its BUGS section lists it as a Solaris option not yet emulated.Source: Solnix pmap(1) -r; Linux pmap(1) OPTIONS; NetBSD pmap(1) BUGS |
| Linux, NetBSD | -s meaning | Solnix -s prints HAT page size information. NetBSD -s selects the Solaris-style output format, which is NetBSD's default. The Linux page has no -s.Source: Solnix pmap(1) -s; NetBSD pmap(1) -s; Linux pmap(1) OPTIONS |
| Linux, NetBSD | -l meaning | Solnix -l shows unresolved dynamic linker map names. NetBSD -l dumps a format like the /proc maps file. The Linux page has no -l.Source: Solnix pmap(1) -l; NetBSD pmap(1) -l; Linux pmap(1) OPTIONS |
| NetBSD | -S meaning | Solnix -S shows swap reservation per mapping. NetBSD -S takes an address and dumps the vmspace structure there.Source: Solnix pmap(1) -S; NetBSD pmap(1) -S |
| Linux, NetBSD | -d and -p meaning | Solnix has neither -d nor -p. Linux -d is the device format and -p shows full file paths. NetBSD -d dumps vm_map structures and -p pid names the process to inspect.Source: Solnix pmap(1) SYNOPSIS; Linux pmap(1) -d, -p; NetBSD pmap(1) -d, -p |
| Linux, NetBSD | -a meaning | Solnix -a prints anonymous and swap reservations for shared mappings and is valid only with -x or -S. NetBSD -a displays all information, mixing Solaris, Linux and NetBSD styles. The Linux page has no -a.Source: Solnix pmap(1) -a, SYNOPSIS; NetBSD pmap(1) -a; Linux pmap(1) OPTIONS |
| Linux, NetBSD | Solnix-only -L and -F | Solnix -L shows the lgroup holding the physical memory behind each mapping. -F forces control of a process another process already controls. Neither page documents these options. The Solnix page warns that -F can cause chaos.Source: Solnix pmap(1) -L, -F, USAGE; Linux pmap(1) OPTIONS; NetBSD pmap(1) OPTIONS |
| Linux, NetBSD | core files as targets | Solnix pmap takes pid or core operands, so it can read a core file. Linux takes only pids. On NetBSD, -M core names a kernel core for the name list, not a process core.Source: Solnix pmap(1) SYNOPSIS; Linux pmap(1) SYNOPSIS; NetBSD pmap(1) -M |
| NetBSD | default target and kernel map | With no pid, NetBSD pmap shows its parent process, and pid 0 shows the kernel's memory map. The Solnix page does not say what happens without a pid and does not mention a kernel map. Source: NetBSD pmap(1) DESCRIPTION; Solnix pmap(1) SYNOPSIS, DESCRIPTION |
| Linux | exit status and rc files | Linux pmap exits 42 when it did not find all requested processes, and has rc-file options (-c, -C, -n, -N). The Solnix page documents only 0 for success and non-zero for error, and no rc files.Source: Linux pmap(1) EXIT STATUS, -c, -C, -n, -N; Solnix pmap(1) EXIT STATUS |
Standards
- POSIX: pmap is not a POSIX.1-2024 utility.
- Solnix: Interface Stability: the command syntax is Evolving. The
-Loption and the output formats are Unstable. - Linux: No standards apply, but pmap looks an awful lot like a SunOS command.
Writing portable scripts
- Do not parse pmap output in portable scripts. Solnix documents its output formats as Unstable, and the column sets differ across Solnix, Linux and NetBSD.
- Avoid
-A,-s,-l,-S,-aand-xacross systems: each means something different or is missing on at least one of them.
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.