Lots of topics here..
First, what version of Jetty 9? (be specific! edit your question with these details)
The dumpBeforeStop=TRUE
you mention is not a known configuration of Jetty. If you are meaning the startup property jetty.dump.stop=true
then that is for dumping the state of the server + handler tree during a formal / graceful shutdown. It has nothing to do with server memory or server crashes.
If you want to see the server and handler tree dump, without stopping the server, then you can use either the startup property jetty.dump.start=true
or enable JMX and access the org.eclipse.jetty.server:type=server,id=0
MBean and use the dump()
operation.
OutOfMemoryError can occur for various reasons. (You didn't paste the full error message and stacktrace to narrow down the cause). It can occur from insufficient heap, or permgen, or threads, or file descriptors, etc ... Without the extra information from the OutOfMemoryError error message advising you on what path to look at is nigh impossible.
The GC event logs provide far too little of a view as to what is going on. You could have had a single action that attempted to allocate 4GB, that wouldn't show up on GC, but still cause the OutOfMemoryError. You could have a scenario where the server attempted to allocate a new Thread, but the OS prevented it, that would also cause an OutOfMemoryError: Failed to Create Thread
Switching Jetty or JVM versions will have no effect for a OutOfMemoryError.
"Removing all JVM options" can also have no effect, depending on how you have your Jetty configured, which you have not specified in your question.
Depending on your specific version of Jetty, the startup is different. (eg: Jetty 7/8/9.0 vs Jetty 9.1)
Depending on your specific installation technique of Jetty, your startup can be different. (eg: standalone vs embedded, from official jetty-distribution, from linux distribution/packaging, from cloud provider packaging, isolated vs unixfied directory structure, split jetty.home vs jetty.base, service startup vs shell vs cron, shell script or java command line, no start.ini vs start.ini and/or start.d, etc...)
In short, your question is valid but vague, the number of possible paths for advice for you is too great (based on the limited information you have provided)