Author Topic: Dcad using Memory  (Read 62 times)

Slind

  • Jr. Member
  • **
  • Posts: 90
Dcad using Memory
« on: July 10, 2019, 09:29:07 AM »
After checking the Task Manager, I found that Dcad shows 4,807,520 K under Processes \ Memory ( Private Working Set ).
This is with no drawings open. With a 2D drawing open it bumps up over 5,000,000 K.
Is Dcad using more than it's share of memory? If so, is there a way to pare it down?

2D drawings mostly

Dcad V27
Win 7  64 bit
Intel Core i3 CPU 550 @ 3.20 Ghz
Quad Processor
8 GB RAM

Thank you.

Bob P

  • Hero Member
  • *****
  • Posts: 1223
    • Era Replica Automobiles
Re: Dcad using Memory
« Reply #1 on: July 10, 2019, 04:40:04 PM »
On my Win 10 box, DC27 uses about 140 Mb of memory, even with a small drawing loaded.

Dr PR

  • Hero Member
  • *****
  • Posts: 5695
Re: Dcad using Memory
« Reply #2 on: July 11, 2019, 10:00:59 PM »
After a cold boot on my Win 7 machine (i7 6 core 32 GB RAM) opening DesignCAD with a blank (new) drawing, no other programs running *:

DCAD 25.2x64
Task Manager
    46.136KB Memory (Private Working Set)
Resource Monitor - 7% memory used
    Commit - 131,672 KB
    Working Set - 65,556 KB
    Shareable - 16,408
    Private - 46,144

DCAD 27.0x64
Task Manager
    44.024 KB (Private Working Set)
Resource Monitor - 7% memory used
    Commit - 143,768 KB
    Working Set - 61,664 KB
    Shareable - 17,644 KB
    Private - 44,020 KB

* NOTE: My Win 7 machine has NO network connections, WiFi, Bluetooth, etc. So none of that garbage is running in the background.

****

On my win 10 i7 2 core with 12 Gbyte RAM, and all kinds of network and security stuff running in the background:

DCAD 27.0x64
Task Manager
    Memory 28.3 MB
Resource Manager
    Commit - 52,504 KB KB
    Working Set - 64,852 KB
    Shareable -  35,544 KB
    Private -  29,312 KB

****

Commit: total amount of virtual memory guaranteed for all processes to fit in physical memory and the page file.
Working Set: the set of memory pages that a program has in RAM (Private and Shareable).
Shareable: memory for communication inside a single program, e.g. among its multiple threads.
Private: the amount of memory currently in use for the program.

****

The amount of RAM allocated to a program's "working set" depends upon how much RAM is available. Windows gives the program a bunch of RAM to work in initially, even if it doesn't need it all at the time, and allocates more later as the drawing grows and more RAM is needed. It does this for all programs.

So on my 32 GB RAM system DCAD gets about 60 Mbytes"working set"  RAM allocated initially, and uses 44 Mbytes of it (private). On the 12 GB RAM machine the initial working set allocation is also about 60 Mbytes, but only 28 Mbytes is used (private).

This allocated RAM space is for programs and data. The program has many modules, some that are used always and others that are needed only occasionally. My guess is that the 12 GB RAM machine actually has less of DesignCAD loaded initially than in the 32 GB RAM machine. Bits and pieces of the program can be paged into RAM from the hard drive as they are needed, slowing the program functioning but leaving more of the initial allocation for data.

If all actual available RAM is being used up Windows will start paging inactive or non-critical programs and data to the hard drive (virtual memory) and giving the RAM space to a more critical or active program. When the inactive program becomes active again Windows pages some other program and data to the hard drive virtual memory and reloads the inactive program and it's data to real RAM. So programs and data may be juggled between the hard drive and RAM constantly, making it appear that the machine has far more RAM than it actually has. As this happens a program's "private" or "working set" RAM memory may fluctuate wildly while the virtual memory remains more or less constant.

When virtual memory paging starts things slow down quite a bit - hard drives (virtual memory) are VERY slow compared to real RAM. I used to work with 1 Gbyte image files in Photoshop on a machine with only 16 Megabytes RAM! It was excruciatingly slow, but it worked.

****

Something similar happens on multiple core machines where individual cores are assigned to different programs as the need arises. Not only is the operating system juggling RAM but it is also juggling cores. Newer operating systems are a long way beyond our ancient CP/M and MS/DOS operating systems!

Phil
DesignCAD user since 1987