Tag Info

Hot answers tagged

8

If info is swapped out to disc and later read back into memory, it will often be left allocated in the swap area until swap space runs low. That means that if the same info needs to be swapped out again later and hasn't changed, the OS can just drop the pages from allocated RAM without needing to write anything to disc saving time. Swap allocated to stuff ...


5

In addition to the heap (specified by -Xms and -Xmx) you need to include the non heap areas. These include The Perm Gen, which is 64mb on 32bit systems, and 96mb on 64bit systems initially The Code Cache, which is between 20 and 40mb depending on JVM The NIO buffer area (where DirectByteBuffers are drawn from), this is initially 64mb There is also the ...


5

May be max user processes (-u) 1024 is too low. Remember that processes and threads are counting together. You can use ps -eLF | grep adtech | wc -l to show your current value.


5

From a similar question on StackExchange: You can try on the command line: java -d64 -version If it's not a 64-bit version, you'll get a message that looks like: This Java instance does not support a 64-bit JVM. Please install the desired version. Consult the help options of the JVM for more info java -help


4

Which is your operating system? (I can't add comments). For Solaris we get better results first forcing a core dump (gcore <pid>) and then attaching jmap to the core dump file (jmap -heap:format=b <path to java bin> <path to core>) gcore is a *nix utility to generate an image of a running program. See link.


4

Here (from the Sun release notes) is the answer I was looking for, at least for how to ensure the JDK server is up and running: jre\bin\server\ On Microsoft Windows platforms, the JDK includes both the Java HotSpotTM Server VM and Java HotSpotTM Client VM. However, the JRE for Microsoft Windows platforms includes only the Java HotSpotTM ...


4

You need to provide a lot more information: 1) How much RAM is available on the box? Is Tomcat the only thing running? 2) Is this a 32bit or 64bit VM? 3) How many CPU's/cores are on this box? 4) What major version of the jdk are you running? 1.4, 5, or 6? The answers to those questions will allow you to set boundaries for the heap. Once you get ...


4

Debian. See http://www.debian.org/ports/sparc/ for information.


4

In fact JVM memory boundaries are controlled by startup parameters like -Xmx2048m -Xms256m -XX:MaxPermSize=512m (it's example). JVM will use that allowed memory. Stable not leaking application will not go out of that boundaries. Back to monitoring, it is possible to turn on JVM internal SNMP agent and then monitor memory usage of heaps and PermGen and ...


4

The Win2008 OS can send alerts for performance counter threshold conditions. Part 1 # Perfmon Launch Performance Monitor (perfmon.msc) Create a new User Defined Data Collector Set Choose to create manually after naming Select Performance Counter Alert Click Add - choose the Object, Counter and Instance to monitor. Process/Java.exe/Working Set Specify the ...


4

OpenVZ providers typically sell RAM capacity of their virtual machines as two numbers: "guaranteed" and "burst" RAM. You are supposed to always get the "guaranteed" amount of RAM, and may use up to the "burst" amount if host resources permit. For example a VPS might be sold as "512MiB guaranteed 1GiB burst RAM". You should always have a successful memory ...


4

Heap size is a configuration parameter of the whole JVM. It is not applicable to deployment unit such as WAR.


3

With the -Xmx option you restrict the size of the heap that the JVM reserves... There are additional resources the JVM needs... "Thanks for the memory"* is a good article that explains how a JVM uses memory... Apart from that u could try IBM's JVM it should work with Tomcat, don't know if some of the free JVM implementations work. Nevertheless, I don't ...


3

add-apt-repository isn't installed by default. You have to install the python-software-properties package first. sudo apt-get install python-software-properties


3

Add the following JVM args to your application startup to enable JMX jvm monitoring: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=(choose a port number) -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false Go into hyperic, select you server. Go to Tools->New Server. Select "Sun JVM 1.5" (Even ...


3

Gentoo: Some project information can be found here -> http://www.gentoo.org/proj/en/base/sparc/index.xml


2

Also try the JRockit JVM, which has less memory footprint. You can still download BEA licensed JRockit versions for free. i.e. versions before Oracle took over BEA. See http://forums.oracle.com/forums/thread.jspa?threadID=816133&tstart=0 for download links.


2

Have you tried to use the file setenv.sh under TOMCAT_HOME/bin/ ? You have to manually create this file (e.g via vi) and then add you Java options. For example: cd TOMCAT_HOME/bin vi setenv.sh add the following line in this file: export JAVA_OPTS='-server' This way your JVM should run in server mode.


2

On ColdFusion 8 installations that use the default JVM and make use of CFC-based frameworks, application initialization will experience a noticeable lag in startup of several minutes (do not confuse app start up with server startup). See http://forum.java.sun.com/thread.jspa?threadID=5218663. This issue has been fixed in Sun JVM 1.6.0_11. Using this ...


2

I am currently running 1.6.0_11 with my CF 8.0.1 servers, and 1.4.2_17 with my CF 7.0.2 production servers (32-bit). We've found these to be very stable when the JVM settings are tuned properly. There are newer versions of the 1.6 line, but I have not tested them in production environments yet. Java SE 6 HotSpot VM GC Tuning


2

Basically, you dont need to care about this. What's important to know is how much IO goes to the swap (have a look at the 'vmstat' command). Having more stuff in the swap doesnt cost anything. The only cost is putting stuff in the swap (page in) or taking it out (page out). So it is perfectly reasonalbe for the OS to let the swap grow.


2

I don't know of any distro that is designed just to run a JVM -- it'd be a pretty niche thing. Any distribution you're familiar with should be able to do the job. I prefer Debian, myself, but it's more important to pick something you (or whoever will be managing the system day-to-day) is comfortable with.


2

For heavily multithreaded apps, thread-related metrics are useful for both performance and availability monitoring. That way you can monitor for excessive contention and queuing, potential deadlocks, that kind of thing. It can also be useful to see how thread metrics correlate with CPU and memory metrics. E.g., if you're seeing frequent full GCs, it would ...


2

you could monitor your application via jmx from the outside. when you know some metrics which indicate an upcoming OutOfMemory, you could trigger a jmap run before the exception is thrown.


2

we have a JSP that queries ManagementFactory.getThreadMXBean() and produces a report. May not be useful when the app has crashed, but if you poll every minute or so, you'll get an idea of what's happening. More info here.


2

If your using Solaris, you are lucky to be able to use dtrace. This will allow you to profile to the kernel level and get more clues about how the jvm is interacting with the kernel. More information here http://www.devx.com/Java/Article/33943 If you want find out what you jvm is doing then run dtrace with the jvm probes. ...


2

You will find very little(if any) improvement by switching the OS you are using, unless you're running some really old version right now, and even then it might not get you the performance gain you're looking for. My guess is you're still limited by the hardware you're currently running, or perhaps your Java application is the main issue, and might be worth ...


2

This is a standard option for my config: -XX:+HeapDumpOnOutOfMemoryError I've also have SNMP/RRD monitoring of basic JVM health characteristics (like heap size, thread count)...there are more. Then, there is the entire world of tools like jconsole...


2

On your solaris system just run sys_diag -G -I1 -l -v and it will aggregate all performance info (CPU/Memory/Network/Disk IO/Dtrace/kernel...) and analyze the output with a single color-coded .html report of findings/bottlenecks characterizing the workload by sub-system.. This will show any/all bottlenecks as well as locking that might be occuring ...


2

Doublecheck if your script translated the raw beancounters correctly. according to this you only have 256 megs of RAM, not 4 gigs as your admin tells you. concentrate only on 2 beans: privvmpages - maximum amount of memory your container can allocate (reserve) oomguarpages - guaranteed amount of memory your container will get to actually use. In case of ...



Only top voted, non community-wiki answers of a minimum length are eligible