JVM Tomcat Liferay: Code Cache at 95% in production - jvm

Using JVM 1.7.0_51 and Tomcat 7 and Liferay Portal CE 6.2GA3 I'm seeing that in JVM's Metrics the value of Code Cache is 95%
In no Tomcat and/or Liferay tuning guide I found the management and/or advice about Code Cache related parameters.
Please anyone could address my to understand this issue ?
Thank you in advance,
Ivano C.

Related

CPU reaching 100% with jboss eap 6.0

We are using jboss eap 6.0 with java 7 and struts 1.3 framework along with sql server 2012 ,hosted only one web application ,after 2 days CPU reaching 100%,Please suggest me.Thanks in advance
Please check if your application try to load to any big size image anywhere. Also compare with the old version of app which was running ok.
You can try using the tips in the JBoss EAP 7 Performance Tuning Guide to help identify the Java threads that are causing the high CPU usage: https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.1/html-single/performance_tuning_guide/#identifying_high_cpu
Most of the instructions in that guide can also be applied to JBoss EAP 6.
If you are a Red Hat Customer, there is also a Customer Portal Labs tool to help with identifying high CPU threads: https://access.redhat.com/labs/jvmpeg/

Restcomm Smsc Gateway: Giving only 50tps on single connection

I am using Restcomm smsc gateway 7.3.135. When both client and server were running on same machine, I am getting only 50 tps on single connection.
In the document I have read we can get upto 1000tps. Please guide how can I achieve this.
Thanks
the community edition of restcomm projects is not performance tested, only the product is going through those performance tests as it requires a lot of fine tuning in the project itself, logging, OS, JVM Options, it also depends on the hardware you're running. You should may want to contact Telestax to get help on that as it's usually pretty involved.

Instability on Worklight Server

I'm using websphere liberty profile v8.5.5.0 and worklight 6.2.
The full version of my WL and runtime is:
Server version: 6.2.0.00.20140922-2259
Project WAR version: 6.2.0.00.20140922-2259
I've noticed that sometimes I have troubles getting into the worklightconsole, the server takes a too big of a time to answer and most of the time it just gives me a time out.
Regarding JVM Heap its at 60 - 70% of the total heap, most likkely 1,5 Gb or something like that.
On the FFDC, sometimes I get a error saying something close to an
FFDC Incident has been created: "javax.naming.ServiceUnavailableException: ldap.example.com:389; socket closed; remaining name 'o=example' com.ibm.ws.wim.adapter.ldap.LdapConnection 1670" at ffdc.log
I have my LDAP connected to this websphere via VPN, and I know that webspheres historically have trouble dealing with LDAP.
However I don't see any more errors on the logs; the machine eventually recovers and is able to work correctly, but for some time is 'down'.
If I enable tracing, the verbosity overwhelms the machine and I can't even start the worklightconsole, neither continue to work with worklight like calling an adapter from an application.
There is one more thing, it seems that this happens more frequently after updates on existing application versions or adapters. Does this ring a bell with anyone?
If i ask for a restart when the machine is sluggish, the stoping of the websphere takes quite some time but eventually stops normally and when I start it, everything is fine right out of the bat.
Before asking for a PMR, I would like to know if there is something else I could do to troubleshoot this problem.
Thanks in advance.
My initial "smell" of the problem is that sometimes your VPN connection with LDAP is very slow or your LDAP server is taking too long to respond.
My suggestion is that you try using WAIT(wait.ibm.com), it's a non-invasive easy to use diagnostic tool, to further investigate. If you find out the call to LDAP is getting hang then I suggest you try tuning Liberty LDAP cache, this should help.

How to monitor JVM without installing JDK

I want to monitor JVM performance on my production environment. I have installed only JRE, not JDK, Hence i can't use jstat, jconsole etc. to monitor the JVM performance.
Can somebody please help to understand how can i monitor JVM performance in this scenario?
Is there any way to achieve this?
(please note that i don't want to monitor it remotely through JMX or something else. i would like to install local agent in each machine which will send the metrics to server at the interval of 1 minute.)
Thanks,
KS
If you manage to get JMX up and running on your VM (from the comment), you can then use jmxterm or jmxfetch to push these JMX metrics into a metrics system (like graphite or Datadog).
If you have enough patience and time to write, you can probably have a look at JVMTI. You can write your code in C/C++ and run it along your Java Process and you can gather information about the JVM without affecting it.
Another simple and naive way is to start your VM with a javaagent written in java but JVMTI is even better than that. The most crucial difference between the javaagent and JVMTI app is derived from the loading mechanics. While the agents are loaded inside the heap, they are governed by the same JVM. Whereas the JVMTI agents are not governed by the JVM rules and are thus not affected by the JVM internals such as the GC or runtime error handling.
You can even give Java Mission Control a try if you're using JDK7 or above :)
Jolokia is a java agent you can use to expose JMX as http. Run jmx2graphite and get those metrics into Graphite. The link includes instructions on Graphite installation (10 minutes)

JBoss 7.x profiling: which profiler to use and how to set up

I need to profile our web application that's running on JBoss 7.1.1, so I started out by looking on the internet for examples of how this is done. To my surprise all information I found was a couple years old and related to older versions of JBoss. I did try some of these anyhow, but nothing worked, except for VisualVM. Problem with VVM was the performance. The system became completely irresponsive and as such, unusable.
Does anyone have experience with profiling JBoss 7? Which profiler works? Doesn't need to be a free tool. I'm willing to buy a profiler. But I first need to see it working. Any example setups would be welcome.