Thanks for all the answers so far!
I am having a Dual Core processers and I would like to have all the processes running on core1 but one. I know now that I can use taskset to set all currently running to be bound to processor 1 for example. Now I would like that my OWN application is scheduled for execution on processor 2 instantly after launching the application. In other words, is there some way to tell the OS in my application that I would like to have this particular program to be executed on processor number 2?
Thank you so much, Mareika
Take a look at this article:
http://www.linuxjournal.com/article/6799
Which covers the subject in detail.
In short, make sure 'init' is getting started with affinity for one proc (it's children will inherit), then you'll want to use:
// (Declaration got via 'man sched_setaffinity')
int sched_setaffinity(pid_t pid, size_t cpusetsize,
cpu_set_t *mask);
To set your process affinity just after your program starts up.
You can use:
taskset -c 1 -p 123
to let run process 123 on core 2.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With