fisheye error :java.servletException -java.lang.OutOfMemoryError:GC overhead limit exceeded
Asked by fabby:

i install fisheye 2.7.12 on ubuntu.

i add a git repository,and it is indexing.then error comes:

```
Repository index failed due to error com.cenqua.fisheye.rep.RepositoryClientException: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.utils.process.ProcessException: While executing: /usr/bin/git whatchanged --always --reverse --date-order -m --no-abbrev --no-renames 6c24ad4e9ddae2a39f032c20b2181b045bb5b322 --pretty=format:C:%H%nP:%P%nA:%aN%nE:%aE%nR:%cN%nF:%cE%nD:%at%nS:%s%nB:%b%n@@fe_body_end@@  com.atlassian.utils.process.ProcessTimeoutException: process timed out
```

the command line terminal shows error message:

```
fisheye your request was unable to be processed,java.servletException -java.lang.OutOfMemoryError:GC overhead limit exceeded
```

i searched resolutions from atlassian confluence,and it says:

*If necessary, this feature can be disabled by adding the option -XX:-UseGCOverheadLimit to the command line.*

does it mean i shall start fisheye by run ". run.sh -XX:-UseGCOverheadLimit" ?

or is there any other better resolutions?


Answers:
author: Jobin Kuruvilla [Adaptavist]
body: Yes, see <https://confluence.atlassian.com/display/FISHKB/Fix+Out+of+Memory+errors+by+increasing+available+memory#FixOutofMemoryerrorsbyincreasingavailablememory-OutOfMemoryError:GCoverheadlimitexceeded>

You might as well add more heap memory to your Fisheye process.

<https://confluence.atlassian.com/display/FISHKB/Fix+Out+of+Memory+errors+by+increasing+available+memory#FixOutofMemoryerrorsbyincreasingavailablememory-OutOfMemoryError:JavaHeapSpace>

comments: author: fabby
body: thanks all of you,

i can increase heap memory by setting environment variable under windows xp( not run FishEye as a Windows service) successfully.

but in linux,`i try vi '~/.profile' and '`vi /etc/profile`' and add '``export FISHEYE_OPTS=-Xmx2048m``' to those files end line.and restart fisheye by run './run.sh', but the ``fisheye's` JVM Input Arguments still be default:

```
JVM Input Arguments-Xmx1024m -XX:MaxNewSize=128m -XX:MaxPermSize=256m -Dfisheye.library.path= -Dfisheye.inst=/home/crucible/fecru-2.7.12 -Djava.awt.headless=true -Djava.endorsed.dirs=/home/crucible/fecru-2.7.12/lib/endorsedTotal Memory1GFree Memory88M
```

Memory Usage is neary full,and after a while,fisheye will be very slow,and even crash.


author: fabby
body: i have fix it ,'vi /etc/profile`' ``add '``export FISHEYE_OPTS=-Xmx2048m``' `on its own line at the end of the file,and then**source /etc/profile** ,**echo $FISHEYE_OPTS** to checkout if you have set environment `variable correctly.finally './run.sh'`  


author: JohnA
body: Hi Fabby,

What it is saying is that you need to add the argument *XX:-UseGCOverheadLimit* to FishEye's startup options as described in this document*: <https://confluence.atlassian.com/display/FISHEYE/Environment+variables>*

I believe that adding a more effective GC algorithm should help improve the situation for you, but the other option, (which you should implement as well), would be to increase the Heap Memory, (by 256MB), which you can see how to do by following the instructions in this document: <https://confluence.atlassian.com/display/FISHKB/Fix+Out+of+Memory+errors+by+increasing+available+memory#FixOutofMemoryerrorsbyincreasingavailablememory-OutOfMemoryError:JavaHeapSpace>

All the best,  
John


Tags: out-of-memory