out of memory

Hi,

I used Jalview to perform principle component analysis, but it said “Out of memory when calculating PCA!! See help files for increasing Java Virtual Machine memory”. Then I see help files (http://www.jalview.org/jvmmemoryparams.html). It told me to add two lines into Jalview.lax:

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m
When I opened the file Jalview.lax. I found that there were already two lines which showed:
lax.nl.java.option.java.heap.size.initial=33554432 
lax.nl.java.option.java.heap.size.max=268400000 
So my question is whether we should add two lines to the end of this file? The default memory is larger than your suggested memory, if we change or add these two lines, can we fix 
this probelm? Even we added these two lines, the problem was not fixed, it still said "Out of memory when calcu
 lating PCA!! See help files for increasing Java Virtual Machine memory".So what
is the problem and how to fix it?
Thanks in advance!
Best wishes!
Yizhuang Zhou

2017-01-06

···

Yizhuang Zhou

Hi Yizhuang,

I think your default setting of max=268400000 is about 260MB, so less than the suggested 1000m.

Can you try commenting out the original defaults thus:

##lax.nl.java.option.java.heap.size.initial=33554432 
##lax.nl.java.option.java.heap.size.max=268400000 

and including the suggested

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m

and let us know if this helps.

Thanks,

Mungo

···

Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: jalview-discuss-bounces@jalview.org jalview-discuss-bounces@jalview.org on behalf of Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 07:20:58
To: jalview-discuss
Subject: [Jalview-discuss] out of memory

Hi,

I used Jalview to perform principle component analysis, but it said “Out of memory when calculating PCA!! See help files for increasing Java Virtual Machine memory”. Then I see help files (http://www.jalview.org/jvmmemoryparams.html). It told me to add two lines into Jalview.lax:

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m
When I opened the file Jalview.lax. I found that there were already two lines which showed:
lax.nl.java.option.java.heap.size.initial=33554432 
lax.nl.java.option.java.heap.size.max=268400000 
So my question is whether we should add two lines to the end of this file? The default memory is larger than your suggested memory, if we change or add these two lines, can we fix 
this probelm? Even we added these two lines, the problem was not fixed, it still said "Out of memory when calcu
 lating PCA!! See help files for increasing Java Virtual Machine memory".So what
is the problem and how to fix it?
Thanks in advance!
Best wishes!
Yizhuang Zhou

2017-01-06

Yizhuang Zhou

The University of Dundee is a registered Scottish Charity, No: SC015096


Thanks, Mungo.

Yes, I can successfully perform PCA for some small data when I changed it accourding to your suggestion. But I faced the same problem for larger data. It still did not work even when I set them to 5000m or 8000m. So is 1000m upper limit? If yes, how can I perform PCA for my large data?

Thanks in advance!

Best wishes,

Yizhuang Zhou

2017-01-06

···

Yizhuang Zhou


发件人: Mungo Carstairs (Staff)
发送时间: 2017-01-06 16:40:09
收件人: Yizhuang Zhou; jalview-discuss
抄送:
主题: Re: [Jalview-discuss] out of memory

Hi Yizhuang,

I think your default setting of max=268400000 is about 260MB, so less than the suggested 1000m.

Can you try commenting out the original defaults thus:

##lax.nl.java.option.java.heap.size.initial=33554432 
##lax.nl.java.option.java.heap.size.max=268400000 

and including the suggested

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m

and let us know if this helps.

Thanks,

Mungo

Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: jalview-discuss-bounces@jalview.org jalview-discuss-bounces@jalview.org on behalf of Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 07:20:58
To: jalview-discuss
Subject: [Jalview-discuss] out of memory

Hi,

I used Jalview to perform principle component analysis, but it said “Out of memory when calculating PCA!! See help files for increasing Java Virtual Machine memory”. Then I see help files (http://www.jalview.org/jvmmemoryparams.html). It told me to add two lines into Jalview.lax:

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m
When I opened the file Jalview.lax. I found that there were already two lines which showed:
lax.nl.java.option.java.heap.size.initial=33554432 
lax.nl.java.option.java.heap.size.max=268400000 
So my question is whether we should add two lines to the end of this file? The default memory is larger than your suggested memory, if we change or add these two lines, can we fix 
this probelm? Even we added these two lines, the problem was not fixed, it still said "Out of memory when calcu
 lating PCA!! See help files for increasing Java Virtual Machine memory".So what
is the problem and how to fix it?
Thanks in advance!
Best wishes!
Yizhuang Zhou

2017-01-06


Yizhuang Zhou

The University of Dundee is a registered Scottish Charity, No: SC015096

Hi Yizhuang,

By coincidence I am just writing up some recent improvements to Jalview’s memory usage (in Jalview 2.10.1).

However these were for the alignment consensus calculation, not the PCA calculation.

If you are able to share your data (by private email) I could investigate whether there is scope for any improvements to Jalview that could help.

I can’t promise there will be, or if so how soon! At some point large enough data sets will exceed the available memory for the JVM.

I’ll also see if my colleagues have any suggestions for you to compute PCA, perhaps with alternative tools.

Regards,

Mungo

The University of Dundee is a registered Scottish Charity, No: SC015096

···

Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 09:43:26
To: Mungo Carstairs (Staff); jalview-discuss
Subject: Re: Re: [Jalview-discuss] out of memory

Thanks, Mungo.

Yes, I can successfully perform PCA for some small data when I changed it accourding to your suggestion. But I faced the same problem for larger data. It still did not work even when I set them to 5000m or 8000m. So is 1000m upper limit? If yes, how can I perform PCA for my large data?

Thanks in advance!

Best wishes,

Yizhuang Zhou

2017-01-06

Yizhuang Zhou
发件人: Mungo Carstairs (Staff)
发送时间: 2017-01-06 16:40:09
收件人: Yizhuang Zhou; jalview-discuss
抄送:
主题: Re: [Jalview-discuss] out of memory

Hi Yizhuang,

I think your default setting of max=268400000 is about 260MB, so less than the suggested 1000m.

Can you try commenting out the original defaults thus:

##lax.nl.java.option.java.heap.size.initial=33554432 
##lax.nl.java.option.java.heap.size.max=268400000 

and including the suggested

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m

and let us know if this helps.

Thanks,

Mungo



Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: jalview-discuss-bounces@jalview.org jalview-discuss-bounces@jalview.org on behalf of Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 07:20:58
To: jalview-discuss
Subject: [Jalview-discuss] out of memory

Hi,

I used Jalview to perform principle component analysis, but it said “Out of memory when calculating PCA!! See help files for increasing Java Virtual Machine memory”. Then I see help files (http://www.jalview.org/jvmmemoryparams.html). It told me to add two lines into Jalview.lax:

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m
When I opened the file Jalview.lax. I found that there were already two lines which showed:
lax.nl.java.option.java.heap.size.initial=33554432 
lax.nl.java.option.java.heap.size.max=268400000 
So my question is whether we should add two lines to the end of this file? The default memory is larger than your suggested memory, if we change or add these two lines, can we fix 
this probelm? Even we added these two lines, the problem was not fixed, it still said "Out of memory when calcu
 lating PCA!! See help files for increasing Java Virtual Machine memory".So what
is the problem and how to fix it?
Thanks in advance!
Best wishes!
Yizhuang Zhou

2017-01-06

Yizhuang Zhou


The University of Dundee is a registered Scottish Charity, No: SC015096

Hello Yizhuang,

To answer your question “is 1000M the upper limit for Java memory”:

No, it depends on your RAM, Java version and operating system.

You can try higher values until the Java process fails to start.

I found that the largest alignments I could compute PCA for were approximately as follows:

With 1000M of Java memory:

500 rows x 5,500 columns (nucleotide)

500 rows x 2,500 columns (peptide) (larger score matrix)

With 8000M:

500 rows x 40,000 columns (nucleotide)

500 x 60,000 failed (out of memory)

With 10000M:

500 x 60,000 succeeded

This is for Mac OS/X with 16GB of RAM.

PCAs for large alignments will take a while!
On my MacBook Pro (2.8GHz):

  • 500 x 30,000 (nucleotide) took 25 minutes

  • 500 x 60,000 (nucleotide) took one hour

I hope this helps give you (and others) some idea as what size of PCA can be computed in what memory space.

In the longer term, we should like to provide a web service that could handle larger computations (and faster), however this is for the future!

Best wishes,

The University of Dundee is a registered Scottish Charity, No: SC015096

···

Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 09:43:26
To: Mungo Carstairs (Staff); jalview-discuss
Subject: Re: Re: [Jalview-discuss] out of memory

Thanks, Mungo.

Yes, I can successfully perform PCA for some small data when I changed it accourding to your suggestion. But I faced the same problem for larger data. It still did not work even when I set them to 5000m or 8000m. So is 1000m upper limit? If yes, how can I perform PCA for my large data?

Thanks in advance!

Best wishes,

Yizhuang Zhou

2017-01-06

Yizhuang Zhou
发件人: Mungo Carstairs (Staff)
发送时间: 2017-01-06 16:40:09
收件人: Yizhuang Zhou; jalview-discuss
抄送:
主题: Re: [Jalview-discuss] out of memory

Hi Yizhuang,

I think your default setting of max=268400000 is about 260MB, so less than the suggested 1000m.

Can you try commenting out the original defaults thus:

##lax.nl.java.option.java.heap.size.initial=33554432 
##lax.nl.java.option.java.heap.size.max=268400000 

and including the suggested

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m

and let us know if this helps.

Thanks,

Mungo



Mungo Carstairs
Jalview Computational Scientist
The Barton Group
Division of Computational Biology
School of Life Sciences
University of Dundee, Dundee, Scotland, UK.
www.jalview.org
www.compbio.dundee.ac.uk


From: jalview-discuss-bounces@jalview.org jalview-discuss-bounces@jalview.org on behalf of Yizhuang Zhou zhouyizhuang3@163.com
Sent: 06 January 2017 07:20:58
To: jalview-discuss
Subject: [Jalview-discuss] out of memory

Hi,

I used Jalview to perform principle component analysis, but it said “Out of memory when calculating PCA!! See help files for increasing Java Virtual Machine memory”. Then I see help files (http://www.jalview.org/jvmmemoryparams.html). It told me to add two lines into Jalview.lax:

lax.nl.java.option.java.heap.size.max=1000m
lax.nl.java.option.java.heap.size.initial=500m
When I opened the file Jalview.lax. I found that there were already two lines which showed:
lax.nl.java.option.java.heap.size.initial=33554432 
lax.nl.java.option.java.heap.size.max=268400000 
So my question is whether we should add two lines to the end of this file? The default memory is larger than your suggested memory, if we change or add these two lines, can we fix 
this probelm? Even we added these two lines, the problem was not fixed, it still said "Out of memory when calcu
 lating PCA!! See help files for increasing Java Virtual Machine memory".So what
is the problem and how to fix it?
Thanks in advance!
Best wishes!
Yizhuang Zhou

2017-01-06

Yizhuang Zhou


The University of Dundee is a registered Scottish Charity, No: SC015096