Excel RTD Caching–Memory usage


Microsoft Office Excel provides a worksheet function, RealTimeData (RTD). This function enables you to call a Component Object Model (COM) Automation server  provides you with a way to view and update data in real time. This real-time data (RTD) feature is great for working with constantly-changing data such as stock quotes, currency exchange rates, inventory levels, price quotes, weather information, sports scores, and so on.

To achieve high performance in such time critical scenarios, Excel has chosen to cache RTD topics related data structures at the application level (viz. they will be cached till the application lifetime). Though this offers the performance which is needed for real time scenarios, but as you can imagine, this does have an impact on the Excel memory usage in some scenarios, for example

1)  When you are using Excel RTD with dynamic “topics”

2) You may encounter same thing, if you happen to open multiple workbooks with large number unique RTD topics

In both of these scenarios, if you happen to consume total addressable heap memory for that particular architecture, you may get error like “Out of virtual memory” or “There is not enough memory to complete the operation” etc. or even a crash.

If you are running into any of the above scenario, the way to move forward is to close excel instance when there is a significant memory pressure.

More about RTD Servers:

Building a Real-Time Data Server in Excel 2002
How to set up and use the RTD function in Excel