"load" is not direct CPU utilization.
Basically it tells you how many threads are waiting for execution, on average. If it is over 1 (in single-core), CPU is overloaded and some process are waiting.
By decreasing the actual computational work of your app...
Or by decreasing the amount of threads and using nice etc. to slow down the startup of your app (but prolonging the real time needed for the startup).
But having a maxed out CPU during a short startup is no that unusual.
You can use the "nice" value of a process to decrease its execution priority in Linux, so that way you can tell your app to be more polite.
Just a mathematical example:
If you have a total workload of 1200 CPU units needed for your startup, and
instead of doing 6 secs of a load 200 units/s that would max out you CPU,
you do 15 seconds of a load of 80, which leaves lots of CPU free for other tasks during those 15 seconds.
So, your startup will take 15 seconds instead of 6. And the max momentary CPU utilisation would be 80 instead of 200, meaning that 120 units would be free for other tasks during the startup.
Note that the nice value in procd means the value for the whole process lifetime. Not just for startup.
And as an answer to your question in How to Change Process Priority? - #3 by davidgates , the default nice value is 0.
"niceness" ranges from -20 (highest priority value) to 19 (lowest priority value).
Note below in my example (taken with "htop" app) from "NI" column that
most apps have the default 0
the NTP daemon is priority hungry with niceness of -15
the statistics collection apps are more polite with nlbwmon with 19 and collectd with 5
May we take a step back, and explain what is the issue exactly? Just a number in a report? Does the app takes too long to start? Does it affect other services?
I feel we are just trying to fix a non issue here...