Networks cannot sustain a 100% utilization rate. For local-area Ethernet networks, a sus-
tained utilization rate over 40% indicates that the interface is saturated. If the network is
packet-switched or utilizes a different medium, the maximum possible sustained rate will be
different; consult a network architect to determine the appropriate goal. This goal is inde-
pendent of Java, which will simply use the networking parameters and interfaces of the oper-
1. For network-based applications, make sure to monitor the network to make sure it
hasn't become a bottleneck.
2. Applications that write to the network can be bottlenecked both because they are
writing data inefficiently (too little throughput) or because they are writing too
much data (too much throughput).
Java Monitoring Tools
To gain insight into the JVM itself, Java monitoring tools are required. A number of tools
come with the JDK:
Prints basic class, thread, and VM information for a Java process. This is suitable for use
in scripts; it is executed like this:
% jcmd process_id command optional_arguments
Supplying the command help will list all possible commands, and supplying help
<command> will give the syntax for a particular command.
Provides a graphical view of JVM activities, including thread usage, class usage, and GC