Reducing SolidWorks memory use

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

Reply to
Dave H
Loading thread data ...

It's been like this for years. I think it's why the conversion wizard opens and closes SW for every file processed. Since it doesn't release memory, it just keeps using more until it crashes.

I discovered this a few years ago. I don't remember why, but I was sifting through part files by dragging a few dowzen into Sw from explorer, then closing them one at a time. Without closing SW, I'd do it again with the next set. What I found was that SW never fully recovered the memory.

Reply to
Dale Dunn

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

Dale Dunn wrote:

Reply to
Dave H

Here is somebody who realizes it:

formatting link

Reply to
P.

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

Reply to
Eddie

Interesting. When you say iconify, do mean minimize to the taskbar?

Reply to
Dale Dunn

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.

Reply to
Eddie

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

Reply to
CS

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.