.TH COREUPDOWND 1 COREUPDOWN .SH MAME coreupdownd - Dynamically enable and disable CPU's to only use one during low CPU usage .SH SYNPOSIS coreupdownd .RI "[-C " coreup-cooldown-time ] .RI "[-c " coredown-cooldown-time ] .RI "[-i " check-interval ] .RI "[-s " configuration-file ] .RI "[-T " coreup-cpu-usage-time-consistency-threshold ] .RI "[-t " coredown-cpu-usage-time-consistency-threshold ] .RI "[-U " coreup-cpu-usage-threshold ] .RI "[-u " coredown-cpu-usage-threshold ] [-ef] .SH DESCRIPTION The .B coreupdownd daemon dynamically turns all CPU cores, except except the main one, on and off depending on CPU usage. .PP The daemon periodically determines what the CPU usage would be if only the main CPU core was enable. If it would be saturated, the other cores are enabled, otherwise the they are disabled. .PP This is designed as a workaround for virtual machines that have input performance issues (keyboard input lag and keys getting stuck) when more than one CPU core is online. .SH OPTIONS The .B coreupdownd daemon shall conform to the Base Definitions volume of POSIX.1-2017, Section 12.2, Utility Syntax Guidelines. .PP The following options are supported: .TP .BI "-C " coreup-cooldown-time The amount of time, measured in (integer) multiples of the .IR check-interval , before the daemon may disable CPU's after enabling CPU's. During this time, time is not counted toward .IR coredown-cpu-usage-threshold . .TP .BI "-c " coredown-cooldown-time The amount of time, measured in (integer) multiples of the .IR check-interval , before the daemon may enable CPU's after disabling CPU's. During this time, time is not counted toward .IR coreup-cpu-usage-threshold . .TP .B -e Do not close standard error at end of initialisation. .TP .B -f Do not daemonise. (The standard input and standard output will still be closed when the process has completed it's initialisation.) Implies .BR -e . .TP .BI "-i " check-interval The interval, in seconds (need not be integer), with which the daemon periodically checks the CPU usage. .TP .BI "-s " configuration-file Configuration file to read instead of .BR /etc/coreupdownd.conf . .TP .BI "-T " coreup-cpu-usage-time-consistency-threshold The amount of time, measure in (integer) multiples of the .I check-interval the CPU usage must have stayed at or above .I coreup-cpu-usage-threshold before the daemon may enable all CPU's. .TP .BI "-t " coredown-cpu-usage-time-consistency-threshold The amount of time, measured in (integer) multiples of the .IR check-interval , the CPU usage must have stayed at or below .I coredown-cpu-usage-threshold before the daemon may disable all CPU's except the main core . .TP .BI "-U " coreup-cpu-usage-threshold The required CPU usage (integer lower bound) before the daemon may enable all CPU's. .TP .BI "-u " coredown-cpu-usage-threshold The required CPU usage (integer upper bound) before the daemon may disable all CPU's except the main core. .SH OPERANDS No operands are supported. .SH STDIN The .B coreupdownd daemon does not use the standard input, however it will be closed by the daemon once initialisation has completed. .SH INPUT FILES None. .SH ENVIRONMENT VARIABLES No environment variables affects the execution of .BR coreupdownd . .SH ASYNCHRONOUS EVENTS If the .B coreupdownd utility traps the following signals: .TP .B SIGHUP Causes the daemon reload it's configurations, and attempt to update to the newest installed version of the daemon. .SH STDOUT The .B coreupdownd daemon does not use the standard output, however it will be closed by the daemon once initialisation has completed. .SH STDERR The standard error is used for diagnostic messages. .SH OUTPUT FILES None. .SH EXTENDED DESCRIPTION None. .SH EXIT STATUS If the .B coreupdownd daemon only terminates on failure, in which case the exit status will be: .TP 1 An error occurred. .SH CONSEQUENCES OF ERRORS Default. .SH APPLICATION USAGE None. .SH EXAMPLES None. .SH RATIONALE None. .SH NOTES None. .SH BUGS None. .SH FUTURE DIRECTIONS None. .SH SEE ALSO .BR coreupdownd.conf (5), .BR coreup (1), .BR coredown (1)