Skip to Main Content Skip to Search
Home |   Select Country  Choose Country  |  Contact Us  |  Cart Store 
Create Account | Log In
Products & Services Industries Academia Support User Community Company

Technical Solutions

How do I increase the largest contiguous free memory block available in MATLAB on a 32-bit machine running Microsoft Windows XP SP2?


Date Last Modified: 16 May 2008
Solution ID:   1-1HE4G5
Product:   MATLAB
Reported in Release:   R14
Platform:   Windows
Operating System:   Windows XP SP2
 

Subject:

How do I increase the largest contiguous free memory block available in MATLAB on a 32-bit machine running Microsoft Windows XP SP2?

Problem Description:

When I execute the following command:
system_dependent('memstats')
I see that the largest contiguous block of free memory is around 1 GB. I wish to increase the size of the largest block available in MATLAB on my 32-Bit machine running Windows XP SP2.

Solution:

There is a utility that can be used to increase the largest contiguous free memory block up to 1.5 GB in MATLAB 7.0 (R14) and later versions except MATLAB 7.4 (R2007a).

Note that this utility must be used only when running MATLAB on Windows XP SP2. This solution is known to provide significant memory increase if the current largest contiguous free block is <= 1 GB.

Perform the following steps to run this utility:

1. Close all applications and start a new session of MATLAB.
2. Type the following command at the MATLAB command prompt to confirm the size of the largest contiguous block:
system_dependent('memstats')
If the largest contiguous is much less than 1.5 GB (for example, around 1GB or less) continue to step 3.

Note that this operation can only be performed on Windows XP SP2.

3. Quit MATLAB

4. Unzip the attached "movedlls.zip" file and copy the "movedlls.exe" file into $MATLABROOT\bin\win32 directory.
(where $MATLABROOT is the MATLAB root directory on your machine, as returned by typing
matlabroot
at the MATLAB command prompt.)

5. Run movedlls.exe by double-clicking it. This operation modifies and copies NETAPI32.DLL and COMCTL32.DLL system DLLs into $MATLAB\bin\win32 directory. If this solution causes problems you can undo the effect by deleting these new files from the directory.

6. Restart MATLAB

7. Type the following command at the MATLAB command prompt to confirm the size of the largest contiguous free block of memory is larger:
system_dependent('memstats')

Known repercussions of this solution:
-- The file browsing dialog box will not open when the "..." button next to the current directory on the toolbar of the MATLAB Desktop is clicked.
-- The UIGETDIR command will not work. It fails to show up the directory browser dialog box and returns a value of 0 whenever executed.
-- The ‘Add Folder’ and ‘Add with Subfolders’ buttons on the Set Path dialog box will not work.

If this solution causes problems you can undo the effect by deleting these new files from the directory.

 

Related Documents/Files:

  Provide feedback to help us improve this solution!
Contact support
E-mail this page
Print this page