MATLAB Answers

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

4 views (last 30 days)
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.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 3 Nov 2010
NOTE: The file that is attached to this solution happens to suffer a checksum collision with a known Trojan that may cause some virus scanners to indicate a false positive. We have run a disassembly on the file and it appears to do exactly what is advertised in the solution.
If you are using Windows XP SP3 or later, there are no workarounds to increase the largest contiguous memory.
If you are using Windows XP SP2, 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). 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 $MATLABROOT\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.
NOTE: The file that is attached to this solution happens to suffer a checksum collision with a known Trojan that may cause some virus scanners to indicate a false positive. We have run a disassembly on the file and it appears to do exactly what is advertised in the solution.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!