GateNLP / gate-core

The GATE Embedded core API and GATE Developer application
GNU Lesser General Public License v3.0
78 stars 29 forks source link

memory levels on Windows #85

Closed greenwoodma closed 4 years ago

greenwoodma commented 5 years ago

We removed the max memory setting from gate.l4j.ini as it was usually giving a lower maximum than the default and hence perversely increasing the chance of an OOME. It turns out on Windows that something odd is going on though and needs a bit more investigating.

Specifically during fix those running windows found that with the default configuration (i.e. no -Xmx setting) they couldn't load the twitter POS tagging model (see socmed hands on) as it would trigger an OOME. The model is only 45MB so not entirely huge. I'm not sure what the default max memory was being set to, but we should find a windows machine and do a bit more experimenting.

Guiorgy commented 5 years ago

I second this. Moreover, after setting memory to -Xmx4G, I was still getting OOME. I next tried downgrading to Java 8 (from Java 12.0.1), and still no luck. So I then used Java 8 (x64) and finally it worked.

SO, I tried Java 8 x86/x64 on several other machines, and same results: Java x86 causes OOME!

EDIT: Java 12.0.2 x64 works fine too, I was using Java 12.0.1 x86 when getting OOME

greenwoodma commented 4 years ago

So, can I assume that the fix is simply to recommend running GATE on 64 bit JVM, rather than setting a value for -Xmx in gate.l4j.ini, i.e. it's a documentation issue rather than a code issue

Guiorgy commented 4 years ago

Yes, infact I would say that 64 JVM should be in the requirements at this point.

I'd also like to mention that I hadn't tested Gate on an x86 Windows, but I think that it probably is unusable there, although I doubt that anyone using Gate will run on x86