numa-preplace(8)
π numa-preplace β bestie's guide to NUMA placement advice π
ok so you found numa-preplace(8) in the Administration section and you're like "what is this" β don't worry, I got you. this whole page is gonna make sense, i promise π«Ά
πΈ NAME πΈ
numa-preplace β a user-level program that hands out NUMA placement advice, no cap β¨
π SYNOPSIS π
numa-preplace [-w NCPUS[:MB]]
that's it. that's the whole vibe. one optional flag and she's ready to go π
π¦ DESCRIPTION π¦
okay so here's the tea: numa-preplace scans your NUMA topology and your resource usage, then spits back information to help management applications do that whole initial manual binding of CPU and memory resources for their processes. it's basically the friend who looks at the seating chart and tells you where everyone should sit πͺβ¨
π₯ OPTIONS π₯
-C <0|1>β this one controls whethernuma-preplacetreats inactive file cache as available memory or not. by default,numa-preplaceassumes it can count inactive file cache as "free" memory when it's matching resources up with processes. so if you want it to instead consider inactive file cache a consumed resource, specify-C 0. also important: this does not apply for hugetlbfs pages π ββοΈ-dβ debug output in the log, sets the log level toLOG_DEBUG. literally the same effect as-l 7. she's chatty π¬-hβ display usage help info and then exit. the classic "wait what do i do again" button π-l <log_level>β sets the log level to<log_level>. reasonable choices are5,6, or7. the default value is5. pick your fighter β-R <CPU_LIST>β specify a list of CPUs thatnuma-preplaceshould assume are reserved for non-numa-preplaceuse. no processes will be bound to the specified CPUs bynuma-preplace, like, at all. hands off π«-t <logical_CPU_percent>β specify the resource value of logical CPUs. here's the why: hardware threads typically share most core resources, so logical CPUs only add a fraction of CPU power for many workloads. by defaultnuma-preplaceconsiders logical CPUs to be only 20 percent of a dedicated hardware core. yeah, twenty. she's thrifty π-vβ verbose output in log, sets the log level toLOG_INFO. same effect as-l 6. slightly less chatty than-dπ£οΈ-Vβ display version information and exit. quick vibe check on what version you're running π-w <NCPUS[:MB]>β okay this is the main character option fr fr. it queriesnuma-preplacefor the best NUMA nodes to bind an entity that needs<NCPUS>. the amount of memory (in MBs) is optional, but you should normally specify it too as<:MB>sonuma-preplacecan recommend NUMA nodes with available CPU capacity and adequate free memory. the output of this option is a string containing a NUMA node list. for example:2-3,6. π―
the recommended node list could be saved in a shell variable (e.g., NODES) and then used as the node list parameter in a
numactl -m $NODES -N $NODES ...
command. see numactl(8). iconic combo, honestly π
π FILES π
/usr/sbin/numa-preplace
that's where she lives π
π§ ENVIRONMENT VARIABLES π§
None.
literally none. nothing to configure here, go touch some grass π±
π EXAMPLES π
/usr/bin/numa-preplace -w 4:4096
four CPUs, 4096 MB of memory, and she'll tell you which nodes to love π₯°
β¨ AUTHORS β¨
Claudio Fontana <claudio.fontana@suse.com> derived from numad by Bill Gray <bgray@redhat.com>
shoutout to the lineage, we stan a derived work π
π SEE ALSO π
go read that one next, iykyk π
lowkey reminder bestie: inactive file cache counting as "free" is the default behavior β flip it with-C 0if that's not your truth. and those-RCPUs? absolutely untouchable. π
and that's the whole page!! this one's version 1.0.0, brought to you by Bill Gray, dated back in the day, and filed under numa-preplace(8) in the Administration section β mwah, go bind some resources responsibly ππ
π¦ where this page comes from
- opensuse-leap 16.0: numa-preplace 0.1-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: numa-preplace 0.1-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: numa-preplace 0.1-160000.2.2 Β· LGPL-2.1-only
- opensuse-leap 16.0: numa-preplace 0.1-160000.2.2 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms