From: Jack on
I am running some parallel codes on my 8-core Mac Pro (OS 10.6.2, Matlab R2009b 64 bit) and find that I cannot properly close the local matlabpool. I access the labs by running "matlabpool open local 8", run a code that uses several parfor loops, and eventually try to close Matlab because I find it paging out to the hard disk once each of the 8 labs use ~500 MB of RAM; restarting seems to be the easiest way of releasing this memory. Because I like to save my command history, I try to manually close the matlabpool before quitting Matlab, using "matlabpool close" or "matlabpool close force". The expected message appears: "Sending a stop signal to all the labs..." but I never receive the final "stopped" part of that message, and Matlab indicates that it is still busy. If I check the activity monitor, all of the labs indeed have stopped, and Matlab itself shows negligible CPU activity.
If I force quit the parent instance of Matlab, the command window closes, but the Terminal window from which I started Matlab is still active. When I attempt to manually close that window, I receive the Mac system warning that closing the terminal will also close bash, Matlab, etc., indicating that the system believes Matlab to still be running. I close the window, and restart Matlab, only to find that the command history has vanished, and opening the matlabpool again results in a "Destroying 1 pre-existing parallel job" message.

While it's unreasonable to post the entire code that triggers this problem, I can say that just running a sample parfor loop from the command line results in a clean closure of the matlabpool.

Has anyone had similar experience with an unresponsive matlabpool, particularly after running several, very RAM intensive jobs?

Many thanks in advance,
Jack