This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 1 Vote(s) - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Server Memory Leaking When repeat Save/Load in a 3D game
#1
Hi, Guys

Firstly, I think Jpcsp is an amazing software. Thank you all for making it. I have used both 32bit and 64bit windows
Automated Jpcsp builds r2263 on a Windows 7 64bit computer.
When I play the game Shin Sangoku Musou 5 Empires (a heavy 3D game), I repeat the save and load operations. The java virtual machine complains the out of memory (which exceeds 1GB) and crashes. All the configurations are default, I haven't change anything in configure options. I doubt, during save/load, some contexts doesn't release properly.

Regards,
Mutated Fantasy
Reply
#2
Here is more information. When the application complains, the console shows the exception:

"Running Jpcsp 64bit...
Exception in thread "user_main" java.lang.OutOfMemoryError: PermGen space"

Hopefully, this helpful.
Reply
#3
First:Use Jpcsp 32 bits
Second:Go to the bat file,right click and edit
Third:Where it says -XX:MaxPermSize=128m change the 128m to 256m
It should work now,if it appears again,try to increase that number.It shouldn't happen so fast like before
I hope this will help you
Am I the only one with this cool sig?
[Image: ji6WX.png]
[Image: 2404362.png]
Reply
#4
(08-17-2011, 10:05 AM)virgil94 Wrote: First:Use Jpcsp 32 bits
Second:Go to the bat file,right click and edit
Third:Where it says -XX:MaxPermSize=128m change the 128m to 256m
It should work now,if it appears again,try to increase that number.It shouldn't happen so fast like before
I hope this will help you

Thank you,
I have tried your suggestion. It does fix the crash, but the memory still increases dramatically. I repeat save/load four times, the memory usage increases from about 800MB to 1.2G, averageFPS drops from 30 to 16 FPS (this is not playable). I stil doubt something is not quite right.
Reply
#5
if you don't care about the media engine then 64bit is ok to use, and it doesn't have the memory restriction the 32bit one has, in the 64bit one you can set the xmx and maxpermsize values alot higher. (as long as you have enough physical ram to back it)

the 32bit version can use about 2gb of ram or 1gb in the default -xmx setting, and all the other values will take away from that value (maxpermsize, rescodecache) so you end up with less ram for jpcsp to use causing a slight slowdown., you might be able to safely up the -xmx value to 1150 to help compensate for the maxpermsize change
Reply
#6
(08-18-2011, 05:38 AM)hyakki Wrote: if you don't care about the media engine then 64bit is ok to use, and it doesn't have the memory restriction the 32bit one has, in the 64bit one you can set the xmx and maxpermsize values alot higher. (as long as you have enough physical ram to back it)

the 32bit version can use about 2gb of ram or 1gb in the default -xmx setting, and all the other values will take away from that value (maxpermsize, rescodecache) so you end up with less ram for jpcsp to use causing a slight slowdown., you might be able to safely up the -xmx value to 1150 to help compensate for the maxpermsize change

Thank you, hyakki

Sure, I think this is a work around. When I repeat the load (I think a lot games ask player to frequently save/load lol), I monitor the memory been allocated to java.exe via windows task manager. I find the memory increases as the load performed each time. In my case, the empty Emulator has about 400MB memory allocated, loading once has about 800MB, loading twice has about 1GB, loading three times 1.1GB, ...., 10 times 1.6GB. I don't think this is normal. Does anyone experience the same situation? I suppose each load should release the memory allocated to the previous context and create the new memory for the current context. I still think this is some kind of memory leaking.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)