I've reworked Leo's original patch and attached it to JIRA. Please review it.
To complete the patch i'd like to discuss the proper use of sysinfo() procedure. As i mentioned, the format of the structure returned by sysinfo was changed since 2.3.23 kernel version for X86 by adding mem_unit field. We could just think that people are working with Linux-es with higher kernel versions and do nothing about this and could try to make a universal solution (currently the patch just utilizes mem_unit field thus this will not work on old Linux-es). This incompatibility is not new and here's, for example, one solution of "workarounding" the problem: http://lists.debian.org/debian-boot/2000/06/msg00387.html So, which way should we prefer? Thanks, Mikhail On 5/17/07, Andrew Zhang <[EMAIL PROTECTED]> wrote:
On 5/17/07, Leo Li <[EMAIL PROTECTED]> wrote: > > It might be too late when error occurs. Since GC is not in-place, when > java > runs out of memory, the GC itself may cannot work. Thanks Leo, now I see. And I'm also looking forward to seeing the ultimate fix by gc guys. :) On 5/17/07, Andrew Zhang <[EMAIL PROTECTED]> wrote: > > > > On 5/15/07, Mikhail Markov <[EMAIL PROTECTED]> wrote: > > > > > > Hi, all! > > > > > > I'd like to raise the problem with freeing native memory which is out > of > > > GC > > > control again :-) (and > > https://issues.apache.org/jira/browse/HARMONY-3148as > > > one of it's demonstration). > > > (See the previous round at > > > http://thread.gmane.org/gmane.comp.java.harmony.devel/25768). > > > > > > Several people have added comments to the JIRA, but we need a general > > > decision on the following question: > > > > > > Do we accept the way which was introduced by Leo's patch in H-3148 ( > i.e. > > > check if there are enough native memory available before allocating > new > > > one, > > > and call System.gc() (or System.runFinalization()) if necessary)? > > > > > > I'm +1 for this method. > > > > > > Hi, > > > > I'm not sure whether I understand the problem correctly, but is it > > possible > > that vm onlys invokes gc when it fails to allocate, instead of checking > > native memory every time before allocation which would may cause > > performance > > downgrade? > > > > (Mark mentioned that he'd refactored the patch if he had time:-) - i'm > > ready > > > to do this if he has no time.) > > > > > > Thanks, > > > Mikhail > > > > > > > > > > > -- > > Best regards, > > Andrew Zhang > > > > http://zhanghuangzhu.blogspot.com/ > > > > > > -- > Leo Li > China Software Development Lab, IBM > -- Best regards, Andrew Zhang http://zhanghuangzhu.blogspot.com/
