Wowza Streaming Engine Tune.xml configuration reference

The Wowza Streaming Engine™ media server Tune.xml configuration file located at [install-dir]/conf/Tune.xml provides fine-tuning of settings for the media server. For more information about performance tuning, see Tune Wowza Streaming Engine for optimal performance.

Note: The Tune.xml reference applies to the file as installed with the latest version of Wowza Streaming Engine. Some properties described may not apply to the file as installed with earlier versions of Wowza Streaming Engine.

Contents


HeapSize
GarbageCollector
VMOptions

XML reference


HeapSize

Defined settings for development and production environments, or the setting of an absolute value.

Supported values:

  • ${com.wowza.wms.TuningHeapSizeProduction}

    Assumption that Wowza Streaming Engine is the only application that's running on the server.
  • ${com.wowza.wms.TuningHeapSizeDevelopment}

    Assumption that Wowza Streaming Engine is sharing resources with other applications.
  • You can also specify a custom HeapSize level with a value between 512 and 10240 megabytes (MB).
     

GarbageCollector

Defined settings that specify GarbageCollector options.

Supported values:

  • ${com.wowza.wms.TuningGarbageCollectorConcurrentDefault}

    Best concurrent garbage collector settings for your hardware. Uses a Java garbage collector that's designed for applications that prefer shorter GC pauses and that can share processor resources with the garbage collector while the application is running. There is a known issue when using the concurrent garbage collector with Java 11.
  • ${com.wowza.wms.TuningGarbageCollectorG1Default}

    Best G1 garbage collector settings for your hardware. Uses a Java garbage collector that's designed for low pause time, high-throughput applications. The G1 collector is a server-style garbage collector, targeted for multi-processor machines with large memories and is fully supported in Oracle JDK 7 Update 4 and later releases.
  • You can also specify a custom GarbageCollector setting directly as shown in the following example:
     
    <GarbageCollector>-XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:NewSize=512m<GarbageCollector>

VMOptions

List of additional virtual machine configuration options.

VMOption - Java virtual machine command-line option.

Example values:

  • -server

    Appends the server option for maximum program execution speed for applications that are running in the server environment. When the -server option is appended, long-running server-side processes are optimized for that use case.
  • -Djava.net.preferIPv4Stack=true

    Boolean. If IPv6 is available on the operating system, the underlying native socket is an IPv6 socket. When true, this setting allows Java applications to connect to, and accept connections from, both IPv4 and IPv6 hosts. If an application is configured to use only IPv4 sockets, then this property can be set to true. The implication of such a setting is that the application won't be able to communicate with IPv6 hosts.
  • -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="${com.wowza.wms.AppHome}/logs"

    Dumps the heap to a file when java.lang.OutOfMemoryError is thrown. The path to the directory or file name that contains the heap dump is provided.
  • -Duser.language=en -Duser.country=US -Dfile.encoding=Cp1252


    String values that set the language and country of the current virtual machine. These values specify the local language, the local country, and the default character encoding, or charset, for the Java virtual machine.
  • -verbose:gc
    -Xloggc:"${com.wowza.wms.AppHome}/logs/gc_${com.wowza.wms.StartupDateTime}.log"
    -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC

    -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime


    List of VMOptions to set (there should not be any newlines) as delineated by using switches.
    Example values:
    • -verbose

      Boolean. If you want to know when and where classes are loaded into the Java virtual machine, you can use the verbose option on the java command.
    • -Xloggc

      Boolean. Reports on each garbage collection event, as with -verbose:gc, but logs this data to a file. In addition to the information from verbose:gc, Xloggc logs each reported event preceded by the time, in seconds, since the first garbage-collection event.
       
      Note: Always use a local file system for storage of this file to avoid stalling the Java virtual machine (due to network latency). If you're working with a full file system, this file may be truncated and logging will continue in the truncated file. This option overrides verbose:gc.
    • -PrintGCDetails


      Boolean. This option will print additional detail at garbage collection.
    • -PrintGCTimeStamps


      Boolean. This option prints timestamps at garbage collection.
    • -PrintHeapAtGC


      Boolean. This option prints the heap layout before and after each garbage collection.
    • -PrintGCApplicationConcurrentTime


      Boolean. This option prints the length of time that the application has been running.
    • -PrintGCApplicationStoppedTime


      Boolean. This option prints the length of time that the application has been stopped.