[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] java machines with > 2gb



Ideally in 32-bit OS no process should have more than 4 GB space.

Thanks & regards
Amitava

--- On Tue, 9/16/08, Joe Meehean <jmeehean@xxxxxxxxxxx> wrote:
From: Joe Meehean <jmeehean@xxxxxxxxxxx>
Subject: Re: [Condor-users] java machines with > 2gb
To: "Condor-Users Mail List" <condor-users@xxxxxxxxxxx>
Date: Tuesday, September 16, 2008, 2:57 AM

This issue has everything to do with 32 vs. 64-bit 
operating systems. With 32-bit OS's no process
can have more than a 3GB address space. If you
need more than 2GB of Java heap space ensure you
are submitting your job to a 64-bit machine with a
64-bit OS. If you don't need more than 2GB's,
follow the workaround.

_joe



Matthew Farrellee wrote:
> A quick read of the work around[1], a few runs of java -Xmx... NOTHING,
> and it seems this isn't entirely Condor's fault.
>
> $ java -Xmx4g NOTHING
> Invalid maximum heap size: -Xmx4g
> The specified size exceeds the maximum representable size.
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
>
> vs
>
> $ java -Xmx1g NOTHING
> Exception in thread "main" java.lang.NoClassDefFoundError:
NOTHING
> ...
>
> On my 32 bit system, the JVM is not able to handle the 4GB max heap size
> I've requested, but it can handle 1GB.
>
> Condor is trying to be helpful and set the max heap size for you by
> default, specifically to sysapi_phys_memory()/ sysapi_ncpus(). The
> problem is sometimes that number is too big for the JVM. In those cases
> you need to stop Condor from trying to help you out. This is what
> setting JAVA_MAXHEAP_ARGUMENT to nothing is all about.
>
> From src/condor_c++_util/java_config.C:
>
> tmp = param("JAVA_MAXHEAP_ARGUMENT");
> if(tmp) {
> arg_buf.sprintf("%s%dm",tmp,sysapi_phys_memory()/
sysapi_ncpus());
> args->AppendArg(arg_buf.Value());
> free(tmp);
> }
>
> If it isn't set, i.e. "JAVA_MAXHEAP_ARGUMENT=" in your
config file, then
> no max heap is passed to the JVM.
>
> The work around mentions setting your own max heap with:
> JAVA_EXTRA_ARGUMENTS = -Xmx1906m
>
> That is well and good, as long as you are setting the max heap to a size
> that the JVM can handle! If you were to JAVA_EXTRA_ARGUMENTS = -Xmx4g on
> my machine you'd still have a problem.
>
> So, you can either not specify a max heap, and deal with whatever fall
> out there is there if any, or make sure you are setting it to something
> reasonable with the little java -Xmx... NOTHING test above. Be careful
> though, this test doesn't seem to be fool-proof. From my testing:
>
> $ java -Xmx2670m test
> Error occurred during initialization of VM
> ...
> $ java -Xmx2669m test
> Exception in thread "main" java.lang.NoClassDefFoundError: test
> ...
> $ java -Xmx2670m test
> Exception in thread "main" java.lang.NoClassDefFoundError: test
> ...
> $ java -Xmx2671m test
> Exception in thread "main" java.lang.NoClassDefFoundError: test
> ...
> $ java -Xmx2672m test
> Error occurred during initialization of VM
> ...
> $ java -Xmx2671m test
> Error occurred during initialization of VM
> ...
>
> Best,
>
>
> matt
>
> [1] http://www.cs.wisc.edu/condor/manual/v7.1/3_13Java_Support.html#29892
>
> Michael Rusch wrote:
>> I share your surprise that it hasn't been fixed after 5+ years,
especially
>> now that machines with 2+gb of RAM are not really extraordinary.
Condor
>> team: are there any plans to fix this?
>>
>> I'll probably wind up following suit and reverting to the vanilla
universe.
>> We have a mixed linux/windows pool, so I'm assuming I'll need
to write two
>> bootstrap scripts named with the appropriate magic so that I can write
the
>> submit file to use the correct one based on target machine's
architecture.
>> Is there any way that I can get around having to make sure Java is
installed
>> in the same place on all of the machines of the same architecture (and
then
>> hardcoding that path into the bootstrapping scripts)?
>>
>> Michael
>>
>>> -----Original Message-----
>>> From: condor-users-bounces@xxxxxxxxxxx [mailto:condor-users-
>>> bounces@xxxxxxxxxxx] On Behalf Of Filip Defoort
>>> Sent: Monday, September 08, 2008 1:34 PM
>>> To: Condor-Users Mail List
>>> Subject: Re: [Condor-users] java machines with > 2gb
>>>
>>> The only solution I found was bypassing the java universe
altogether
>>> and starting your own JVM via a regular java invocation.
>>> Works, but kinda defeats the purpose of the java universe.
>>>
>>> Quite surprised this hasn't been fixed yet - this bug has been
there for
>>> years.
>>> - Filip
>>>
>>>
>>> On Mon, Sep 8, 2008 at 11:25 AM, Michael Rusch
<mcrusch@xxxxxxxx> wrote:
>>>> Has anybody found a way with recent versions of condor to get
Java nodes
>>>> with >2GB of RAM to show up? The workaround from the
manual is not
>>> working
>>>> for me.
>>>>
>>>>
>>>>
>>>> Michael
>>>>
>>>> _______________________________________________
>>>> Condor-users mailing list
>>>> To unsubscribe, send a message to
condor-users-request@xxxxxxxxxxx with
>>> a
>>>> subject: Unsubscribe
>>>> You can also unsubscribe by visiting
>>>> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>>>>
>>>> The archives can be found at:
>>>> https://lists.cs.wisc.edu/archive/condor-users/
>>>>
>>>>
>>> _______________________________________________
>>> Condor-users mailing list
>>> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx
with a
>>> subject: Unsubscribe
>>> You can also unsubscribe by visiting
>>> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>>>
>>> The archives can be found at:
>>> https://lists.cs.wisc.edu/archive/condor-users/
>> _______________________________________________
>> Condor-users mailing list
>> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx
with a
>> subject: Unsubscribe
>> You can also unsubscribe by visiting
>> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>>
>> The archives can be found at:
>> https://lists.cs.wisc.edu/archive/condor-users/
> _______________________________________________
> Condor-users mailing list
> To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
> subject: Unsubscribe
> You can also unsubscribe by visiting
> https://lists.cs.wisc.edu/mailman/listinfo/condor-users
>
> The archives can be found at:
> https://lists.cs.wisc.edu/archive/condor-users/
_______________________________________________
Condor-users mailing list
To unsubscribe, send a message to condor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/condor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/condor-users/