PRLIMIT(1)
โจ PRLIMIT(1) โจ
okay bestie, gather round, because prlimit is literally the manual page we're doing today and she is so useful ๐
she lives in the User Commands section of the manual, which is exactly where a queen like her belongs ๐
๐ธ NAME ๐ธ
prlimit โ get and set process resource limits ๐
๐ฆ SYNOPSIS ๐ฆ
prlimit [options] [--resource[=limits]] [--pid PID]
prlimit [options] [--resource[=limits]] command [argument...]
๐ DESCRIPTION ๐
so here's the vibe: you hand her a process ID plus one or more resources, and prlimit will try to retrieve and/or modify the limits. like, she's gonna attempt it, that's the energy ๐
When command is given, prlimit will run this command with the given arguments. yes, she's also a runner. main character behavior honestly ๐โโ๏ธโจ
The limits parameter is composed of a soft and a hard value, separated by a colon (:), in order to modify the existing values. If no limits are given, prlimit will display the current values. If one of the values is not given, then the existing one will be used. To specify the unlimited or infinity limit (RLIM_INFINITY), the -1 or 'unlimited' string can be passed. no cap, that's literally the whole trick ๐ซถ
Because of the nature of limits, the soft limit must be lower or equal to the high limit (also called the ceiling). this is not a suggestion bestie, this is the law ๐ญ To see all available resource limits, refer to the RESOURCE OPTIONS section.
so the limits syntax shapes are:
soft:hardโ Specify both limits. ๐soft:โ Specify only the soft limit.:hardโ Specify only the hard limit.valueโ Specify both limits to the same value.
โจ GENERAL OPTIONS โจ
--noheadingsโ Do not print a header line. no header, just vibes ๐-o,--outputlist โ Define the output columns to use. If no output arrangement is specified, then a default set is used. Use--helpto get a list of all supported columns. (yes,--helpis the plug, go ask her ๐)-p,--pidPID โ Specify the process ID. Without this option (and without a command), the running process will be used. so if you're lazy, she just looks at herself. relatable ๐--rawโ Use the raw output format.--verboseโ Verbose mode. she will yap. affectionately ๐ฃ๏ธ๐-h,--helpโ Display help text and exit.-V,--versionโ Display version and exit.
๐ RESOURCE OPTIONS ๐
one bullet per resource, no skipping, we're thorough in this house ๐
-c,--core[=limits]โ Maximum size of a core file.-d,--data[=limits]โ Maximum data size.-e,--nice[=limits]โ Maximum nice priority allowed to raise.-f,--fsize[=limits]โ Maximum file size.-i,--sigpending[=limits]โ Maximum number of pending signals.-l,--memlock[=limits]โ Maximum locked-in-memory address space.-m,--rss[=limits]โ Maximum Resident Set Size (RSS).-n,--nofile[=limits]โ Maximum number of open files.-q,--msgqueue[=limits]โ Maximum number of bytes in POSIX message queues.-r,--rtprio[=limits]โ Maximum real-time priority.-s,--stack[=limits]โ Maximum size of the stack.-t,--cpu[=limits]โ CPU time, in seconds.-u,--nproc[=limits]โ Maximum number of processes.-v,--as[=limits]โ Address space limit.-x,--locks[=limits]โ Maximum number of file locks held.-y,--rttime[=limits]โ Timeout for real-time tasks.
๐ NOTES ๐
The prlimit(2) system call is supported since Linux 2.6.36, older kernels will break this program. not in a cute way. in a broken way ๐ญ so check your kernel before you come for her.
๐ EXAMPLES ๐
okay these are the moment, watch closely:
prlimit --pid 13134
Display limit values for all current resources. โจ
prlimit --pid 13134 --rss --nofile=1024:4095
Display the limits of the RSS, and set the soft and hard limits for the number of open files to 1024 and 4095, respectively. soft girl, hard ceiling, we love a range ๐
prlimit --pid 13134 --nproc=512:
Modify only the soft limit for the number of processes. just the soft one. gentle. ๐
prlimit --pid $$ --nproc=unlimited
Set for the current process both the soft and ceiling values for the number of processes to unlimited. $$ is giving shell magic and she ate ๐ฅ
prlimit --cpu=10 sort -u hugefile
Set both the soft and hard CPU time limit to ten seconds and run sort(1). queen behavior: setting limits AND running your whole pipeline for you ๐
๐ซถ AUTHORS ๐ซถ
Davidlohr Bueso <dave@gnu.org> โ In memory of Dennis M. Ritchie. ๐ค that's genuinely so sweet, rest in power.
๐ SEE ALSO ๐
๐ REPORTING BUGS ๐
For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. don't be shy, they wanna hear it ๐
โญ AVAILABILITY โญ
The prlimit command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
anyway bestie, that's the whole page โ this was util-linux 2.42.4, dated 2026-09-21, and that's PRLIMIT(1) signing off ๐ฆ๐ stay unlimited (but only where it's allowed, soft โค hard, you know the rules) ๐
โจ
๐ฆ where this page comes from
- arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms