Reducing SolidWorks memory use

Discussion in 'SolidWorks' started by Dave H, Jan 7, 2005.

  1. Dave H

    Dave H Guest

    I started using Microsoft Task Manager the other day to see what was
    going on with SolidWorks after a program freeze and found some very
    interesting things were happening. I've tested this on two systems with
    different SP's of SolidWorks with the same results. I found that
    SolidWorks uses about 100MB when loaded. It grows when parts or
    assemblies are loaded. The interesting thing is what happens after
    laoding a decent sized assembly then open a small part and then close
    the part. The part can be one in the assembly or a seperate part.
    Major memory use drop ocures when the small part is closed. Eventually
    after working for a while the memory useage will grow and not be
    completely released as files are closed. Closing all files after a
    little activity still resulted in SolidWorks using around 300 MB with
    nothing open. I'm going to be opening and closing a small file after
    loading a large assembly from now on just to see how it effects
    SolidWorks usage during the day.

    Systems:

    #1
    Athlon 2200+
    1 GB ram
    120 GB HDD
    Windows XP Pro SP 2.0
    SolidWorks 2005 SP 1.0EV

    #2
    Athlon 2000+
    1 GB ram
    80 GB HDD
    Windows XP Pro SP1.0
    SolidWorks 2005 SP0.0

    I'm monitoring the SLDWORKS.exe Process with task manager.

    The sample assembly stats are as follows:
    Total components 1285
    Parts 1175
    Unique parts 439
    Sub-assemblies 110
    resolved components 1244

    Results for SLDWORKS.exe process:

    Start Solidworks 99,500K
    open sample assy 700,656K (reached over 800 during load)
    Open small part(89K) 710,584K
    close small part 142,644K

    SolidWorks released 567,940K when closing the 89K part and still having
    the large assembly open. It doesn't seem to reach the big number again
    after opening and closing the small part. I'd rather start my day with
    142MB used instead of 700MB!! It's got to help stability and performance.

    Dave H
     
    Dave H, Jan 7, 2005
    #1
  2. Dave H

    Dave H Guest

    I knew it had memory release problems as well, but I didn't realize how
    bad it was. Opening and closing an 89K file to free up over 550 MB is
    amazing.

    Dave H
     
    Dave H, Jan 7, 2005
    #2
  3. Dave H

    P. Guest

    P., Jan 7, 2005
    #3
  4. Dave H

    Eddie Guest

    Dave & All,
    Hers is what I found out while performing some testing:

    I could not reproduce the problem using SW04 on WIN 2000 but I could
    with SW05 SP0.1 on WINDozzzzzz Xpee (laptop). However, I stumbled upon
    something else that proves there is a major problem with SW not
    releasing memory properly. Most importantly, I found a simple solution.

    SW2005 SP0.1
    Boot up SW - 96MB
    Open Assembly - 180MB
    Open Part - 187MB
    Close Part 50MB

    Here's the topper:
    Boot up SW - 96MB
    Iconify - 5.6KB
    Maximize - 2.5KB
    In the same session:
    Open Assembly - 110MB
    Iconify - 6.426KB
    Maximize - 26MB
    (Please note the "KB" versus "MB" numbers.)

    I have no clue what's going on, nor do I really want to know. What I
    do know is if you want your memory back, Iconify SW, then Maximize and
    then go back to work. Better than an Exit or a Re-Boot.
    Eddie
     
    Eddie, Jan 7, 2005
    #4
  5. Dave H

    Eddie Guest

    Sorry, yes. Minimize or make it an icon.
    Also, as I noted on the SW Discussion Forum, any desktop application
    that is in a minimized state uses less memory.
    Check it out. Hopefully SW does and then finds an answer to their leaky
    application.
     
    Eddie, Jan 7, 2005
    #5
  6. Dave H

    CS Guest

    This is interesting behavior though there may be a logical explaination.

    Say SW isn't leaky in this regard. My guess is that SW minimized has no
    graphical calculation and only needs to keep minimal data in que. Then you
    maximize and SW stores every visible graphical surface into memory. Rotate
    your part and more surfaces get cached into memory. Rotate even more and
    more surfaces get cached. Eventually you plateau and SW has now cached
    every surface of your model. Now you start working with the model arrowing
    over edges and points and surfaces and SW starts caching more graphical
    data. This would allow SW to show instant feedback but would eat up lots of
    memory and looks like a leaky program.

    Corey
     
    CS, Jan 7, 2005
    #6
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.