Measuring Excel Memory Useage

Measuring Memory Used by Excel

If you are using Windows NT, Windows 2000, Windows XP, Windows 7, Windows 8 or Windows 10 you can use Task Manager (accessed by Ctrl/Alt/Delete) to track the total amount of physical memory being used by EXCEL.EXE.

But Task Manager does not directly show the size of the virtual memory being used, which is the key limitation for Excel 2007 and later versions.
You can use Process Explorer to find Virtual Memory Size. The column to focus on is not there by default and can be added by choosing View - Select Columns - Process Memory Tab - Virtual Size, or by right-clicking the Excel.exe process and choosing Properties- Performance.

Or you can download my tool for measuring the amount of Virtual Memory being used by Excel and showing the maximum virtual memory available to Excel: ShowExcelMemory2.zip

For 32-bit Excel consider anything over 1.75GB as a maximum.

32-bit Excel 2013 and 2016 can be made to support more memory using the Large Address Aware Capability: 3GB with Windows 32-bit and 4GB with Windows 64-bit. For details of how to enable this see Large Address Aware capability change for Excel.

Task Manager will also show you the size and useage of your Swapfile.

You can track the amount of memory Excel is using for workbooks etc, excluding memory occupied by the Excel programs etc., using:

INFO("MEMUSED") and Application.Memoryused are less useful with Excel 2003 because the Excel 2003 memory limit is a different kind of limit to previous versions, and these functions are not available for Excel 2007.

There are two other memory used commands available, but they are not useful:

  • INFO("memavail") or Application.MemoryFree
  • INFO("totmem") or Application.MemoryTotal

These are supposed to give you the amount of memory available or free, and the sum of memory used and memory available.
Unfortunately memory available or free does not work properly and always shows a constant 1 megabyte available.
Consequently total memory, which shows the sum of memory used and memory free, also does not work properly.

Measuring System Memory

You can use the GlobalMemoryStatus windows API to obtain information about system memory status, including total and used Physical RAM, Swapfile and Virtual Memory.

See MSKB article Q213267 for details and an example of this API.

© 2001-2014 Decision Models  Legal Disclaimer Privacy Statement E-Mail Webmaster