vSphere web client refused to start with memory errors
log location:
Windows: c:\programdata\VMware\vCenter\Logs\vsphere-client
Appliance: /var/log/vmware/vsphere-client
wrapper.log
INFO | jvm 1 | 2018/04/03 15:34:25 | Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "org.springframework.scheduling.timer.TimerFactoryBean#0"
INFO | jvm 1 | 2018/04/03 15:34:33 |
INFO | jvm 1 | 2018/04/03 15:34:33 | Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-9443-exec-10"
INFO | jvm 1 | 2018/04/03 15:35:12 |
INFO | jvm 1 | 2018/04/03 15:35:12 | Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-9443-exec-6"
vsphere_client_virgo.log
[2018-04-03T15:28:45.855-04:00] [ERROR] http-bio-9090-exec-2 com.vmware.vise.util.concurrent.WorkerThread http-bio-9090-exec-2 terminated with exception: java.lang.OutOfMemoryError: PermGen space
[2018-04-03T15:28:46.773-04:00] [ERROR] http-bio-9090-exec-5 com.vmware.vise.util.concurrent.WorkerThread http-bio-9090-exec-5 terminated with exception: java.lang.OutOfMemoryError: PermGen space
Cause: insufficient Web-client heap size/Insufficient PermGen space?configuration change
Scenario 1: Heap-size
Resolution:
- Ensure there is sufficient free memory on the vCenter
free -m
- Review and Increase (double) the heap size of the web client
Appliance:
cloudvm-ram-size -l vsphere-client
windows:
C:\Program Files\VMware\vCenter Server\visl-integration\usr\sbin\cloudvm-ram-size.bat -l
To increase, use the below
cloudvm-ram-size.bat -C XXX
- start vsphere-client and observe if this still crashes.
Scenario 2: PermGen
- Take a copy of the
file service-layout.mfx as service-layout.mfx.bak
Appliance path: /etc/vmware/
Windows Path: C:\ProgramData\VMware\vCenterServer\cfg\ - Edit service-layout.mfx with a text editor
- Change MaxPermMB size from 256 to 512 for the row vspherewebclientsvc. (increase accordingly depending on the number of plugins configured with vCenter_webclient)
- start vsphere-client service
Scenario 3: Problem persists even after increasing/maxing out scenario 1 and scenario 2.
- backup configuration file before you proceed
cp /usr/lib/vmware-vsphere-client/server/wrapper/bin/vsphere-client /usr/lib/vmware-vsphere-client/server/wrapper/bin/vsphereclient.bak
- Edit the file using a text editor
vi /usr/lib/vmware-vsphere-client/server/wrapper/bin/vsphere-client
- Look for the line “RUN_AS_USER=vsphere-client” and hash this
Start vsphere-client service.
Thanks for your post, and solution 3 helped me to solve this issue. But may I know why this can help?