Limiting MATLAB processor usage

From Fluids Wiki
Jump to: navigation, search

Sometimes it is desired to limit the number of processors that MATLAB uses while it is running so that 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 -c 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, (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 shift+'W'+'enter'.