coreadm(8) on Solnix vs Linux and the BSDs

coreadm is the illumos command at /usr/bin/coreadm that sets the name, location and content of core files, both system-wide and per process, and saves the system-wide settings across reboots. Linux has no equivalent command in the bundle: core(5) describes the /proc/sys/kernel/core_pattern file, and FreeBSD sysctl(8) is a generic kernel-state tool.

What Solnix runs

A default Solnix system runs the illumos coreadm at /usr/bin/coreadm. No other variants are shipped. The page is published by pkgs.solnix.illumos-world-man. Running coreadm with no arguments prints the current configuration.

Differences

Compared withTopicWhat differs
Linuxhow the core pattern is setOn Solnix you run coreadm -g pattern, and the setting is saved and applied at boot. On Linux the page describes a template in the file /proc/sys/kernel/core_pattern; the visible text does not say how it is saved across reboots.
Source: Solnix coreadm(8) DESCRIPTION, -g; Linux core(5) Naming of core dump files
FreeBSDno dedicated core commandFreeBSD uses the general sysctl utility with MIB-style names. The visible part of sysctl(8) lists no core-file variable, so the bundle does not show how to set a core file name on FreeBSD.
Source: FreeBSD sysctl(8) DESCRIPTION and variable table; Solnix coreadm(8) SYNOPSIS
Linuxpattern specifiersThe letters differ. Solnix: %f executable name, %n node name, %z zone name, %Z zone root, %d executable directory. Linux: %e or %f executable name, %h hostname, %s signal number, %E pathname, %P initial-namespace PID. Solnix has no signal specifier.
Source: Solnix coreadm(8) DESCRIPTION (embedded variables); Linux core(5) Naming of core dump files
Linuxuser and group IDs in the nameSolnix %u and %g expand to the effective user-ID and group-ID. Linux %u and %g expand to the numeric real UID and GID of the dumped process.
Source: Solnix coreadm(8) %u, %g; Linux core(5) %u, %g
Linuxglobal pattern must be absoluteSolnix coreadm -g requires the pattern to start with /. The Linux default template is just core, which creates the file in the crashing process's current working directory.
Source: Solnix coreadm(8) -g; Linux core(5) DESCRIPTION and Naming of core dump files
Linuxper-process settings by unprivileged usersSolnix coreadm -p pattern and -P content set a per-process pattern and content for the listed PIDs, and unprivileged users can run this form. The Linux text visible here describes only the system-wide core_pattern file and the RLIMIT_CORE limit, with no per-process pattern.
Source: Solnix coreadm(8) SYNOPSIS second form, DESCRIPTION; Linux core(5) DESCRIPTION
Linuxseveral core files per crashOn Solnix a crashing process can produce up to three core files: per-process, global, and, in a non-global zone, the zone's global location. Each follows the options of its own location. The Linux text visible here describes one core_pattern.
Source: Solnix coreadm(8) DESCRIPTION; Linux core(5) Naming of core dump files
Linuxselecting core contentSolnix -G and -P take tokens such as stack, heap, text, anon, ctf, symtab, all, none and default, joined with + and -. The visible Linux text mentions only madvise(2) MADV_DONTDUMP excluding part of the address space.
Source: Solnix coreadm(8) -G, content tokens; Linux core(5) DESCRIPTION
Linuxset-id processesOn Solnix, set-id core dumps are switched with -e or -d of global-setid and proc-setid. Set-id core files are created mode 600, owned by the superuser. Linux refers to prctl(2) PR_SET_DUMPABLE and /proc/sys/fs/suid_dumpable in proc(5).
Source: Solnix coreadm(8) -e, DESCRIPTION (setid); Linux core(5) set-user-ID bullet
Linuxprivilege to change system-wide settingsOn Solnix, only users and roles in the "Maintenance and Repair" RBAC profile can use -g, -G, -i, -I, -d and -e. The Linux text visible here does not describe a privilege model for changing core_pattern.
Source: Solnix coreadm(8) DESCRIPTION and OPTIONS; Linux core(5)
Linuxsystemd and size limitsThe Linux page says core dumps may instead go to a location determined by systemd(1), and that RLIMIT_CORE set to zero prevents a dump. The visible Solnix text mentions neither.
Source: Linux core(5) DESCRIPTION; Solnix coreadm(8)

Everyday tasks

TaskSolnixLinux
show current core file configurationcoreadmread /proc/sys/kernel/core_pattern
set the global core file name patterncoreadm -g patternwrite a template to /proc/sys/kernel/core_pattern
set core pattern for one running processcoreadm -p pattern pid—
turn off global core dumpscoreadm -d global—
limit core file size—set RLIMIT_CORE (shell ulimit)

Standards

Writing portable scripts

  • Do not share a core pattern string between systems: the % specifiers differ, for example %f and %n on Solnix, %e and %h on Linux.
  • Detect the platform first, then use coreadm on Solnix or the /proc/sys/kernel/core_pattern file on Linux.

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.