Limiting MATLAB processor usage

From Fluids Wiki
Revision as of 15:01, 9 October 2012 by Fluidslab (talk | contribs)
Jump to navigation Jump to search

Sometimes it is necessary to limit the number of processors that MATLAB uses while it is running so as some of the machine's processors may be free for others to use.

In older versions of MATLAB, it was possible to change the number of threads that MATLAB forks with use of the 'maxNumCompThreads' command, but this command has been removed in newer versions.


The taskset Linux command

To start a new matlab job from the command-line which is limited to, for example, four processors, type:

 taskset -pc 0,1,2,3 matlab 

That command will start matlab to only be able to use CPU's 0,1,2 & 3. To get an idea of which processors are currently in use beforehand, (to know which ones are free to pass into 'taskset'), run the 'top' command, then hit 'f','j','enter'. The 'P' column indicates which processor a task is running on. To have 'top' run with the P column by default, save your settings by hitting 'W'+'enter'.