If you have used linux resource management tool, you might be aware of fair control on resources like CPU, memory. In case you need to run an performance application which genuinely need higher share of CPU, then you must be feeling to know approach to do this.
Or think that you want to minimise impact of download of your app update file(which need good amount of CPU processing) on other apps running in the same machine, you will wish to reduce CPU usage for your app to minimal. In this way, other apps will have fair amount of CPU resources available while your app is downloading updates.
In case, you are running these apps in micro service environment, then you should be handling with settings imposed by docker platform.
This document helps in this regard.
The docker update command dynamically updates container configuration. You can use this command to prevent containers from consuming too many resources from their Docker host.
'docker update' command supports edit of resource usage (CGROUP values) for a running container
For example, below command will ensure that docker container will be scheduled to physical cores from 1-7. So, if a container is running 7 cores, then it can help to avoid context switching overhead (between cores)
sudo docker update --cpuset-cpus=1-7 <docker ID>
Below is the example CPU utilisation where it shows that cpu1 - cpu7 are occupied due to above docker update command
perf command helps here. You can profile a specific CPU core and then check report to know the process name
As below example, perf linux tool will profile cpu2
sudo perf record -C 2
Below example perf report (sudo perf report) tells that process with name NSPPE-03 is being scheduled to this CPU core
Another profile report for CPU core8 shows that swapper/etcd process is scheduled
http://www.brendangregg.com/perf.html
https://docs.docker.com/engine/reference/commandline/update/