Getting frustrated: apparent memory issues


Mister Rik

 

Posted

Before I start complaining again, let me emphasize a couple important positives:

• I love, love, love this game. I came here as a refugee from the "800-pound gorilla" MMO after finally getting bored out of my skull with it. And I picked CoH entirely because it's the only other major MMO that runs on a Mac (well, and also because I'm a huge, longtime comic book superhero fan). I promised some friends in the other MMO that I'd be back when the next expansion comes out, but I'm loving this game so much that I honestly don't want to go back.

• The game itself performs well, at least once I've got the graphics settings adjusted properly for my 4-year-old iMac. And, aside from the still-not-fixed Paragon Market crash issue I've had since February (now a non-issue since I can simply use my Windows laptop to access the Market), I've had no major technical problems with the game. While the game is running, it performs admirably.

My current problem is what happens when I'm done playing the game, and I've logged out and quit the software. This is a new (for me) problem, the beginning of which coincided perfectly with the release of Issue 23.

What happens: I quit CoH and the NCLauncher. Then I try to launch other applications (e-mail client, web browser ... anything, really), and am met with a series of spinning beach balls. It can take up to five minutes of staring at the spinning beach ball before the application's window will even appear, and then several more minutes of complete unresponsiveness before things finally settle down and I can actually do something with the app I've launched. However, it often doesn't even get to that point - I'll just get a spinning beach ball that won't go away. While all this is happening, I can't even get the "Force Quit" (command+option+escape) window to come up. If I happen to have Activity Monitor already running I can kill the unresponsive app from there, but if AM isn't already running then trying to launch it at this point just gets me the same results - it hangs while trying to launch.

At this point, my only option is to manually shut down my Mac with the power button, and then restart it using the power button. And thanks to the improper shutdown (and possibly other issues), I'm looking at 20-30 minutes of staring at a gray screen before it finally gets to the login screen. Then it takes another five minutes after entering my username and password to finally be logged in, Finder up, and ready to go. Though sometimes the whole computer is still extremely sluggish after all that.

Even worse, sometimes the computer won't even get as far as the login screen. When this happens, I manually shut it off again, and reboot from my Mac OS X install DVD, which allows me to run Disk Utility to repair permissions (and it finds a huge list of incorrect permissions every time), and sometimes use the Repair Disk function. After doing all this, I can reboot from the hard drive and everything is fine. Until I play CoH again.

I'm strongly suspecting memory issues, both RAM and virtual memory/swap. That is, it looks like the game (or perhaps the Cider wrapper is the culprit) is failing to release RAM when the game is quit, and also possibly not clearing any VM/swap file data.

As an experiment, I took a series of screenshots of Activity Monitor's "system memory" info, to hopefully see some of what's going on. The only applications running during this were Activity Monitor, NCLauncher, and CoH:

After a fresh reboot:



After launching CoH and logging in, but no character loaded:



After loading a character into the game world:



And finally, after playing the game for about 30 minutes and then quitting:



The key numbers here, I think, are the blue "Inactive" numbers. As I saw it explained a few years ago, the "Inactive" memory is RAM that applications "reserve" over and above what they're actually currently using, just in case they need more at some point (I'm open to correction on this). And programs are supposed to release/unreserve that memory when they quit. As you can see, the "Inactive" number in the last screenshot (after quitting CoH) is almost nine times larger than the number in the first screenshot. And that's after only 30 minutes of gameplay. A normal game session for me is considerably longer than that, and I've found that "Inactive" number pushing 1.75GB - almost half of my installed RAM. That "Inactive" memory is RAM that is unavailable to other apps, and would explain a lot of the problems I'm seeing. It looks like the game, or possibly (more likely?) the Cider wrapper is simply not releasing its memory when I quit the game.

As to virtual memory/swap, I'm even less schooled. But I understand there is something wrong when there is a huge numerical difference between "Page ins" and "Page outs". As you can see in the screenshots, by the time I quit the game there had been 290.4MB of "Page ins", and only 212KB of "Page outs". And again, after longer, "normal" CoH sessions, I've seen that "Page ins" number go into the many-many-gigabytes, with extremely low numbers for "Page outs". This looks to me like the game (or Cider) is writing all manner of temp/swap files to my hard drive, and then just leaving them there taking up space. Of course, these invisible-to-the-user files aren't reflected in my hard drive's visible "Free space", but the OS knows they're there. This could explain some of the sluggishness when I try to launch another app - the new app is trying and failing to find some space to write its own temp files.

Anyway, as you can imagine, this is getting very frustrating. I mentioned Cider several times because CoH is the only app I have that uses the Cider wrapper. None of my other, native apps exhibit these issues. And I want to emphasize again that these problems started the day Issue 23 went live. My Mac exhibited none of these symptoms previously.

System Info:

Model Name: iMac
Model Identifier: iMac8,1
Processor Name: Intel Core 2 Duo
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache: 6 MB
Memory: 4 GB
Bus Speed: 1.07 GHz
Boot ROM Version: IM81.00C1.B00

Video Info:

ATI Radeon HD 2400 XT:

Chipset Model: ATI Radeon HD 2400
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 128 MB
Vendor: ATI (0x1002)
Device ID: 0x94c8
Revision ID: 0x0000
ROM Revision: 113-B2250H-259
EFI Driver Version: 01.00.259
Displays:
iMac:
Resolution: 1680 x 1050
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Built-In: Yes

EDIT: Oh yeah, Mac OS X 10.7.4 (Lion)


 

Posted

give iFreeMem a try when you're done playing. It reallocates the memory.


 

Posted

Quote:
Originally Posted by ScavGraphics View Post
give iFreeMem a try when you're done playing. It reallocates the memory.
Thanks for the recommendation - that's a handy utility!


 

Posted

A note about iFreeMem - I noticed on its web site that there is a different version for each version of Mac OS X, but the last version they offer is for Snow Leopard. While that version seemed to work fine under Lion, I went looking for something more "current".

I visited the App Store and found a 99-cent utility called "MemoryFreer" that seems to work better than iFreeMem.

In any case, while both of these utilities helped somewhat, I've come to believe that this issue is deeper than simple RAM issues, and is likely a problem on my end rather than with the game itself. I installed a fresh, clean copy of Lion on an external drive and have tried booting from that drive before playing CoH, and so far, so good. I've come across a handful of corrupted files on my internal drive (and given the huge number of files on that drive, between my personal files and the OS itself), that suggests there may be many more corrupted files, and that may be the root of the problem. Though why the problem didn't manifest until the day I installed the Issue 23 update, and why the problems don't start until after I run CoH … that's the question.

If continue to have no problems after playing the game under the "fresh" install of Lion, I'll start the long process of fixing the internal drive. Alas, this is going to involve backing up everything important, and then reformatting the drive before reinstalling Lion and all my apps.