jvm crash after adding more cpu and ram during runtime - jvm

A production tomcat stopped responding after 8 hours of adding more cpu and ram during runtime. There is no traceable log in catalina.out.
java process was still running in the background. There is no load on the system during that time period. No sign of Out of memory.
apache-tomcat-7.0.55
tomcat-native-1.1.31
java version "1.8.0_66"
Red Hat Enterprise Linux Server release 6.6 (Santiago)
Could it be because of the cpu and ram upgrade? Thanks.
I saw a post about it for java 6. I am not sure it is related to my issue.
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6840239

Related

Docker Desktop Windows - Abysmal performance in AMD system?

I've recently assembled a new AMD Desktop, to replace an older Dell Latitude E7540 laptop.
The AMD Desktop:
Ryzen 3 3100 # 3.8GHz (4C/8T), 32GB DDR4 3600 CL17 RAM, Corsair P600
Gen4 SSD
The DELL Laptop:
Dell Latitude E7540: Intel I7-5600U # 2.6GHz (2C/4T), 16 MB RAM DDR3 1600, Samsung mSATA PM851
On the new AMD Desktop, when executing a docker build command, two situations occur:
The performance is dreadful, even building a simple image, it takes a long time for the command to start. After starting, it takes a long long time to complete (when it completes)
The build window crashes almost 50% of the time.
The benchmarks indicate that the new AMD Desktop is 3.5x faster at single core, and 6x faster at multicore.
As such, I was expecting a much better performance with the new AMD Desktop.
Unfortunately, that's not the case, and for the same Dockerfile (which generates a very big image):
The Dell starts faster
The Dell completes faster (10m vs 30m)
On the Dell, the build window never crashes.
The only difference between both systems is that one is an Intel platform, the new one an Ryzen 3 AMD.
Environment Details are the same on both machines:
Windows Version: Windows 10 Ent. 19049
Docker Desktop Version: Docker 3.0.0
What can explain this abysmal performance on Docker-Desktop on the new AMD system?
After a few troubling days, i can confirm that the problem is not AMD related.
The culprit is the Antivirus, that when ON, its scanning the files used by Docker, which cause all the problems i've described.
Docker documentation states how to disable the antivirus to scan Docker related files:
https://docs.docker.com/engine/security/antivirus/
When antivirus software scans files used by Docker, these files may be locked in a way that causes Docker commands to hang.
One way to reduce these problems is to add the Docker data directory (/var/lib/docker on Linux, %ProgramData%\docker on Windows Server, or $HOME/Library/Containers/com.docker.docker/ on Mac) to the antivirus’s exclusion list. However, this comes with the trade-off that viruses or malware in Docker images, writable layers of containers, or volumes are not detected. If you do choose to exclude Docker’s data directory from background virus scanning, you may want to schedule a recurring task that stops Docker, scans the data directory, and restarts Docker.

Server 2016 VM does not boot after hyper-v install

I am using VMWare Workstation 14, with Windows Server 2016 installed on it. A few weeks ago in my server class, we had an in class lab to setup a Nano Server. I successfully got that up and running and installed Hyper-V and loaded it into it. Started up, and signed in. Then two days later at class again, the VM just freezes at the windows logo with circling white dots.
I have installed multiple VMs trying to get it up and running. Always the same result. I have the virtualization enable in BIOS on my laptop.
I have a VM snapshot I just took before installing Hyper-V, installed the role, rebooted, and again, stops at the windows logo with circling dots.
I don't know where to check if there is an issue, or if something is configured incorrectly. I am just looking for some help and ideas on what I should check. I do also have the virtualization stuff within VMWare enabled under the properties for the VM.
System details:
Asus GL502VMZ
Version 10.0.17134 Build 17134
Processor Intel(R) Core(TM) i7-7700HQ CPU # 2.80GHz, 2808 Mhz, 4 Core(s), 8 Logical Processor(s)
Installed Physical Memory (RAM) 16.0 GB
NVIDIA GeForce GTX 1060 3GB
Have you tried uninstalling the anti-virus? I was running into the same issue in my server class (Using VMware to run server 2016 which we where using to nest hyper-v)until a class mate said he didn't have the AV (we where looking for differences on why his worked and mind didn't). I removed my AV (was AVG) now the server no longer stalls at the boot screen.
Just my 2 cents that may help someone in the future. I had the same issue on an HP Proliant ML310e that worked fine for the full install until enabling the Hyper-V role, then it would hang at the Windows icon screen with the swirling dots. I was able to get past that by disabling Intel VT-d in the bios. Not a particularly good solution, but it allowed the system to boot successfully and run normally.

JVisualVM lies: "Not supported for this JVM" while it is

App A, ran from IntelliJ, has CPU usage and I can look at threads. App B has no Threads tab and CPU usage shows "Not supported for this JVM". Both apps are ran with same JVM. Why / what happened?
JVM: Java HotSpot(TM) 64-Bit Server VM (25.101-b13, mixed mode)
Java: version 1.8.0_101, vendor Oracle Corporation
Java Home: /usr/lib/jvm/java-8-oracle/jre
I can take a thread dump with jstack.
Apps are simple command-line programs, not larger than 10 classes. One app uses finalization, if it matters.
I started both apps from IntelliJ Idea, via Run. App A when started from CLI (via java FinalizerTest) and looked at with jvisualvm had Threads and CPU usage, despite not having it previously. This is still the same JVM that runs it, so I guess this is Intellij problem?
If I can provide more information, freely ask.

jBoss slowness in a VMWare ESXI Virtual Machine

We have a Java EE application that runs in JBoss 7.1.1, and, we must run it in VirtualMachines (such as VMWare ESXI).
The thing is, when we run our app in the VM, the performance is dropped by 50% approx.
Seems like the GC goes crazy... as far I can tell, when GC runs, it take much more longer
than normal to "end", and block the application meanwhile.
Have anyone else had a experience like that? Any tips, tunning or a light that I can follow?
Thanks in advance.
EDIT
JVM has Xmx and Xms = 1Gb
VM has 4Gb RAM
Ubuntu Server 64
oracle JVM 64
I would say that before moving your app to VM with configuration you posted it was running on 32bit system and 32bit jvm and using same jvm parameters.
Trick is that you moved to 64bit with 64bit java but still assigned same amount of heap size for your application, what has happened in reality is that you app now has half the memory available that it used to have.
Every object on 64bit jvm is twice the size of the one of 32bit jvm.
Given configuration you have I would suggest few solutions:
increase heap size to 2G
or use compressed oops
or install 32bit jvm
Given that your application does not have more than 1.3G assigned it think best performance would be achieved by installing 32bit jvm and running with -Xms1300m -Xmx1300m.
You can go even step futher and have 32bit VM with 32bit linux installation.
64bit jvm is only useful if you need more than 1.3G of heap otherwise it just adds too much overhead.
Also you can run jvm with
-verbose:gc -XX:+PrintGCDetails
that will show you what is happening with GC, this can further help you tune your jvm.

JMeter not working after increasing the heap size beyond 1577 Mb

When I tried to increase the JVM heap size to to 2048 Mb, it throws an exception while initializing the JVM. I have tried it on both 32-bit & 64-bit OS but was able to get the solution. Also, please tell me if installing the 64-bit JVM or JRE will solve the problem or not.
Can someone also let me know, how to find which version of JRE I'm currently running?
The memory limit is here: Java maximum memory on Windows XP
The version is java -version