[ http://issues.apache.org/jira/browse/JAMES-134?page=comments#action_63254 ] OG commented on JAMES-134: --------------------------
Stefano - It isn't normal for the JVM to take memory and not give it back. There is a garbage collector, and it should manage the size of the heap to a reasonable size. That it isn't doing so could mean that resources are not being released properly, or that the GC doesn't get into action, and it can be forced into action, and it should act if James is sitting for a day on 300MB and a few seconds of operation time. The column I looked at is 'Mem Usage', and I am aware of the difference between physical RAM and Virtual Memory. The JVM has a maximum memory limit, so it isn't possible to set the JVM to accept any message size, so lets be large I thought, and did: ---------------------- C:\>java -Xmx10000M Invalid maximum heap size: -Xmx10000M Could not create the Java virtual machine. ---------------------- That is just 10GB and the JVM refuse to work with that. Why shouldn't I be allowed to send a 10GB message? Also, please tell me, can the address space in a 32bit machine be over 2^32, which is 4GB? Also, if you enlarge the VM to such sizes all the resources of that VM would also grow. So now your page file would take 10GB of disk space because James "needs" the VM. In reality however you would need more, because for some reason for me James took 7 times the size of the message so if you get a 10GB message, you would need 70GB of VM disk space because of that message. Do you have it? What if that was a 20GB message? Also, I don't know how much space in the RAM the lookup tables take, but do you? Do you know if windows or UNIX allow you to enlarge the VM page/swap file to what ever you want? Also, can you tell me why on earth does a mailet/matcher need to have all the message in the memory at once? Does mailets or matchers go randomly over messages that they process? > Large emails in the spool cause SpoolManager to throw OutOfMemoryError > ---------------------------------------------------------------------- > > Key: JAMES-134 > URL: http://issues.apache.org/jira/browse/JAMES-134 > Project: James > Type: Bug > Components: SpoolManager & Processors > Versions: 2.2.0, 2.0a3, 2.1.3, 2.1 > Environment: Operating System: MacOS X > Platform: Macintosh > Reporter: Matt Bishop > Priority: Blocker > > Steps to repro: > 1. Send yourself a very large email (16 megs works for me) > 2. check the SpoolManager log and see this over and over: > ERROR spoolmanager: Exception in JamesSpoolManager.run null > java.lang.OutOfMemoryError > What makes this problem particularly bad is that the spoolmanager doesn't > move on to other > messages but keeps pegging the CPU trying to process this email. To fix it, > I have to shut down > james, delete the email files out of spool and restart. > EXPECTED: email should spool to the user as expected. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
