PEPC-CPU-HOTPLUG(1)
π PEPC-CPU-HOTPLUG β bestie edition π
okay so real talk: this is the pepc-cpu-hotplug command, hanging out in section 1 of the General Commands Manual. It's the little sibling command that handles CPU hotplug β turning CPUs on and off like a light switch, but for cores. Slay. Let's get into it. π
β¨ GENERAL OPTIONS β¨
Every good girlboss command needs her starter pack of flags. Here's the whole roster. π
-hβ show a short help message and dip out. bye. π-qβ be quiet. Like, only the important stuff gets through (warnings and whatnot). π€«-dβ spill the debugging tea. π΅--debug-modules MODNAME[,MODNAME1,...]β so-dturns on all the debug messages, which is a LOT. This one narrows it down to just the modules you name. Example:-d --debug-modules MSRshows only the debug messages coming from theMSRmodule. Targeted. Focused. Main character energy. β¨--versionβ print the version number and exit.-H HOSTNAME,--host HOSTNAMEβ the host name or IP address of the target system. Thepepccommand gets run over on that system using SSH instead of locally. Don't specify it? Then it just runs locally, nbd. π-U USERNAME,--username USERNAMEβ which user you're logging in as on the remote host over SSH. By default it goes looking for the user name in SSH configuration files, and if it can't find one, it falls back to your current user name.-K PRIVKEY,--priv-key PRIVKEYβ path to the private SSH key for logging into the remote host. Not specified? Then the keys configured for that host in SSH configuration files (like~/.ssh/config) get used. And if there's nothing configured there either, it tries the standard key files (like~/.ssh/id_rsa) plus the SSH agent. It's giving "I'll find a way in, trust". π-D DATASET,--dataset DATASETβ heads up, this one is for debugging and testing only. It says which dataset to use for emulating the host that the command runs on. The datasets live in thepepcsource code repository. The argument can be either a dataset path or a dataset name β and if you go with a name, it searches these spots, in order:./tests/emul-datain the program's directory$PEPC_DATA_PATH/tests/emul-data$VIRTUAL_ENV/share/pepc/tests/emul-data$HOME/.local/share/pepc/tests/emul-data/usr/local/share/pepc/tests/emul-data/usr/share/pepc/tests/emul-data
--force-colorβ forces colorized output even when the output stream isn't a terminal (it just adds ANSI escape codes). Rainbow mode: activated. π--print-man-pathβ prints thepepcmanual pages directory path and exits. Drop that path into theMANPATHenvironment variable and boom, the manual pages are available to themantool. π«Ά
π¦ SUBCOMMAND 'info' π¦
Displays the list of online and offline CPUs. It reads from /sys/devices/system/cpu/online and /sys/devices/system/cpu/offline. That's it, that's the whole vibe. β¨
π₯ SUBCOMMAND 'online' π₯
Brings the CPUs you specify online by writing 1 to /sys/devices/system/cpu/cpu<N>/online.
--cpus CPUSβ the list can hold individual CPU numbers and CPU number ranges. For example,1-4,7,8,10-12means CPUs 1 to 4, CPUs 7, 8, and 10 to 12. There's also the special keywordallto grab every CPU. π
π SUBCOMMAND 'offline' π
Brings the CPUs you specify offline by writing 0 to /sys/devices/system/cpu/cpu<N>/online. This one has the full arsenal of selectors, so let's go. π
--cpus CPUSβ individual CPU numbers and CPU number ranges. For example,1-4,7,8,10-12means CPUs 1 to 4, CPUs 7, 8, and 10 to 12. Special keywordall= every CPU.--cores CORESβ individual core numbers and core number ranges. For example,1-4,7,9-11means cores 1 to 4, cores 7, 9, 10, and 11. Special keywordall= every core. Core numbers are relative to the package. Just so you know. π«--modules MODULESβ individual module numbers and module number ranges. For example,0,2-5means module 0 and modules 2, 3, 4, and 5. Special keywordall= every module. Watch out: unlike core and die numbers, module numbers are absolute. π€--dies DIESβ individual die numbers and die number ranges. For example,0-3,5means dies 0 to 3, and die 5. Special keywordall= every die. Lowkey chaotic detail: on some systems die numbers are globally unique, while on others they're relative to the package. π--packages PACKAGESβ individual package numbers and package number ranges. For example,0,2-4means package 0 and packages 2, 3, and 4. Special keywordall= every package.--core-siblings *CORE_SIBLINGS*β core siblings are the CPUs that share the same core. The list can hold individual core sibling indices or index ranges. Example: if a core includes CPUs 2 and 3, then index 0 means CPU 2 and index 1 means CPU 3. Important: this option can only reference online CPUs, because Linux does not provide topology information for offline CPUs. So in that same example, if CPU 2 were offline, index 0 would mean CPU 3. On Intel processors with hyper-threading, this is typically used to offline hyperthreads. π§΅--module-siblings *MODULE_SIBLINGS*β module siblings are the CPUs that share the same module. The list can hold individual module sibling indices or index ranges. Example: if a module includes CPUs 4, 5, 6, and 7, then index 0 means CPU 4, index 1 means CPU 5, index 2 means CPU 6, and index 3 means CPU 7. Same warning as above: this can only reference online CPUs, because Linux doesn't hand out topology info for offline CPUs. In that example with CPUs 4, 5, 6, and 7 β if CPU 5 were offline, index 1 would mean CPU 6, index 2 would mean CPU 7, and index 3 would be invalid. π
and that's the whole page, bestie!! you made it to the end, I'm so proud π₯Ή
This has been PEPC-CPU-HOTPLUG(1), brought to you by the General Commands Manual β same manual, same name up top, same name down here, no cap. Now go forth and hotplug responsibly, queen. πππΈ
π¦ where this page comes from
- epel 10: python3-pepc 2.0.7-2.el10_3 Β· BSD-3-Clause
- epel 9: python3-pepc 2.0.7-3.el9 Β· BSD-3-Clause
- fedora 44: python3-pepc 2.0.7-2.fc44 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms