[Solved] Low Virtual Memory

Has anyone experienced installed screensavers causing low virtual memory? Could this be due to complex motion graphics? I have a client on Windows 7 with multiple employees encountering this issue and I’m trying to resolve it.

If you can’t isolate and fix the memory leak inside the SWF file, there are some other options you can try - although not perfect, these may be “good enough” for day-to-day use:

  1. Inside iScreensaver, change the Sequence / Item Settings Inspector / Behavior / Play Count to a value such as 100. What this will do is let the SWF file play for 100 loops (in your case, about an hour), then will reset it and start it over again. When iScreensaver resets the SWF file, it can often free up most of the leaked memory. There will still be a leak, but it may be small enough to not matter.

  2. Set the screensavers so that they don’t play forever. You can do this on Windows 7 using the Energy Manager settings here: http://iscreensaver.com/green/green7.shtml
    This has the additional benefit of saving energy.

“Low virtual memory” is probably not the issue, but the issue sounds more like a memory leak. This could be either in the iScreensaver program, or within third-party software that’s in use (such as QuickTime, Adobe Flash Player, etc.)

Can you tell us more about your screensaver?

  1. Content: Does it use:
  • Images?
  • SWF/Flash Content?
  • QuickTime / Movie or video?
  1. What OS and version is this happening on?

  2. Does the screensaver run 24/7/365 or is the computer set to go to sleep at any point?

Content is one SWF file. Problem is happening on multiple computers, all Windows 7, 32 bit.

Is the SWF file set to play forever in the iScreensaver sequence editor? Or does it actually play, then stop, then loop back and play again?

You can have this set up two ways:

  1. (the proper way): The Sequence has one item (your SWF file). The SWF file has Behavior settings set to “Play : Count : Forever”. This method will start the SWF file playing and let it go forever.

  2. (the wrong way): The Sequence has one item (your SWF file). The SWF file has Behavior settings set to “Play : Count : 1”. This method will repeatedly start the SWF file playing, over and over again, and can cause a memory leak.

There’s a third possibility which is that the SWF file itself (or Adobe Flash Player) is leaking memory. If that’s the case, you’d need to fix your SWF file and/or contact Adobe about fixing their bug.

If you aren’t sure, we’d be happy to take a look at your screensaver - please email us with a download link.

After testing your sample SWF file, this is looking like a memory leak inside the SWF file itself.

For example: I tested the SWF file inside iScreensaver Designer on Mac OS X 10.8.4, and while running the memory usage gradually creeps up. I see about 100MB increase in 10 minutes. This suggests a memory leak, but doesn’t clarify where it’s coming from.

So, I tested the SWF file in Flash Player 11.4, and here again, I see a memory leak: creeping up about 100MB in 10 minutes. This test, since it involves only your SWF file, and Adobe Flash Player software, suggests the leak has nothing to do with iScreensaver.

The good news: If the leak is inside your SWF, you can probably fix it - If you don’t have this experience in-house, you may want to consult an expert Flash author who can help you find and fix the leak.