not enough java memory error-still existing

Help
yi h
2011-07-26
2013-05-20
  • yi h
    yi h
    2011-07-26

    Hi,
    I am a new user of MeV.
    I'm using the lastest MeV4.7.3. "not enough java memory error" popped out when I was doing Hierarchical clustering n HCL. I followed the instruction and changed jave setting to java-Xmx1024m. but the error is still there. our PC is Dell optiplex 980 and Java is jre6.
    I'd appreciate it if anyone could give ideas.

    Thank you.

     
  • Hi, I am having the same problem with the latest MeV 4.7.4. I have used MeV in the past to make HCL several times without problems, and since I downloaded this latest version I cannot make it (and I deleted the old one, so there is no coming back). I tried to correct it but it is still giving the same error. I have tried Mac, PC, Windows Vista e Windows 7, without success. Any suggestion would be very welcome.

    Thanks in advance

     
  • Stephan Lorenz
    Stephan Lorenz
    2011-11-24

    Hi,

    I found that using HCL on large datasets eats a lot of memory, so the 1024MB assigned by the TMEV.bat will not be enough. If you are using 32 bit Windows, you can try to set -Xmx to a value up to 1700MB which is the limit of 32bit Java including overhead, so lower values may be needed (like 1512m), or you can use RockitJVM which can adress more than 1.7Gb of RAM (i think up to 3Gb) on a 32bit system.
    However, if you are using Vista/7-64bit you can force TMEV to use the 64bit Java (it uses the 32bit by default since some modules will not work in 64bit, but HCl does). I modified the TMEV.bat file and saved it as TMEV_64.bat

    #################
    @echo off
    goto CMD
    :CMD

    set JAVA_HOME="C:\Program Files\Java\jre6" ###REMOVED THE (x86) - Java 64bit VM has to be installed in that place
    set PATH=%JAVA_HOME%;%JAVA_HOME%\bin;%PATH%

    set CurrDIR=%cd%
    echo %CurrDIR%

    REM Set RHOME
    set R_HOME=%CurrDIR%\R-2.9.1

    REM For R Dlls
    set PATH=%PATH%;%CurrDIR%\R-2.9.1\bin;%CurrDIR%\R-2.9.1\lib

    set ClassPath=lib/*;
    java -Dhttp.proxyHost=xxx.xxx.xxx.xxx -Dhttp.proxyPort=xxxx -Dftp.proxyHost=xxx.xxx.xxx.xxx -Dftp.proxyPort=xxxx -Djava.library.path=lib -Xss1M -Xmx3072m -cp %ClassPath% org.tigr.microarray.mev.TMEV

    ##################
    You can set the Xmx up to 75-80% of your physical memory, on my private machine i assigned ~6.5-7Gb out of 8Gb and was able to analyze a set of 12 samles with 37.000 genes. However, I think one should apply a variance filter to the data in order to reduce the memory necessary for HCL. As I said,some modules may not work, but you could at any time save an analysis from 32 bit, export the data to be clustered, cluster it in 64bit and reimport the resulting clusters into the 32bit TMEV.

    Hope that helps until TMEV becomes truly 64 bit capable.

    Best regards
    Stephan