+

Search Tips   |   Advanced Search

Java virtual machine cache settings

Set JVM custom properties to maintain cache entries that are saved to disk.

We can set the custom properties globally to affect all cache instances or we can set the custom property on a single cache instance. In most cases, set the properties on the individual cache instances. To set the custom properties on the default cache instance, use the global option. If we set the same property both globally and on a cache instance, the value that is set on the cache instance overrides the global value.

To configure the custom properties on a single object cache instance or servlet cache instance...

  1. In the administrative console, click one of the following paths:

    • To configure a servlet cache instance, click...

        Resources > Cache instances > Servlet cache instances > servlet_cache_instance_name > Custom properties > New

    • To configure an object cache instance, click...

        Resources > Cache instances > Object cache instances > object_cache_instance_name > New

  2. Type the name of the custom property.

    When configuring these custom properties on a single cache instance, we do not use the full property path. For example, type...

      explictBufferLimitOnStop

    ...to configure the custom property...

      com.ibm.ws.cache.CacheConfig.explictBufferLimitOnStop

  3. Type a valid value for the property in the Value field.

  4. Save the property and restart WebSphere Application Server.

To configure the custom property globally across all configured cache instances...

  1. In the administrative console, click...

  2. In the name field, type the name of the custom property...

      com.ibm.ws.cache.CacheConfig.explictBufferLimitOnStop

  3. Type a valid value for the property in the Value field.

  4. Save the property and restart WAS.

Also use these properties to tune the delay offload function for the disk cache.

Important: Setting these custom properties using the wsadmin command is deprecated for WAS v7.0. Use the administrative console to set these properties. The individual property descriptions include information on how to use the administrative console to set these properties.

The delay offload function uses extra memory buffers for dependency IDs and templates to delay the disk offload and minimize the input and output operations. However, if most of our cache IDs are longer than 100 bytes, the delay offload function might use too much memory. Use any combination of the following properties to tune the configuration:

We can define the following Java virtual machine cache settings:


com.ibm.ws.cache.CacheConfig.explictBufferLimitOnStop

If set to 0, there is no limit to the number of offloads that can occur. Only positive integers are accepted as values for this property. If the number of entries in the explicit invalidation buffer is greater than the specified limit, all of the disk files for this specified cache instance are deleted after the server stops.

Use this custom property when the flush-to-disk-on-stop feature is enabled. When the server is stopping, offloads are limited to the value specified for this property, pending removal of entries in the explicit invalidation buffer.

Important: We cannot use the administrative console to set this property.


com.ibm.ws.cache.CacheConfig.htodCleanupFrequency

Change the amount of time between disk cache cleanup.

Important: Setting this custom property manually is deprecated for V6.1. Therefore, we should use the administrative console to set this property. To set this property in the administrative console, click one of the following paths:

Then:

  1. Under Disk Cache setting, select the Enable disk offload field if it is not already selected.

  2. Under Performance Settings, select Balanced performance and balanced memory usage or Custom.

  3. In the Disk cache cleanup frequency field, specify an appropriate length of time, in minutes.

By default, the disk cache cleanup is scheduled to run at midnight to remove expired cache entries and cache entries that have not been accessed in the past 24 hours. However, if we have thousands of cache entries that might expire within one or two hours, the files in the disk cache can grow large and become unmanageable. Use the com.ibm.ws.cache.CacheConfig.htodCleanupFrequency custom property to change the time interval between disk cache cleanup.

Information Value
Units minutes

For example, a value of 60 means 60 minutes between each disk cache cleanup.

Default 0

The disk cache cleanup occurs at midnight every 24 hours.


com.ibm.ws.cache.CacheConfig.htodDelayOffloadEntriesLimit

Specify the number of different cache IDs that can be saved in memory for the dependency ID and template buffers. Consider increasing this value if we have a lot of memory in the server and we want to increase the performance of our disk cache.

Important: Setting this custom property using the wsadmin command is deprecated for V7.0. Therefore, we should use the administrative console to set this property. To set this property in the administrative console, click one of the following paths:

Then:

  1. Under Disk Cache setting, select the Enable disk offload field, if it is not already selected.

  2. Under Disk Cache settings, select Limit disk cache size in entries, if it is not already selected.

  3. In the Disk cache size field, specify the number of cache IDs that can be saved in memory for the dependency ID and template buffers.

Information Value
Units number of cache IDs

For example, a value of 1000 means that each dependency ID or template ID can have up to 1000 different cache IDs in memory.

Default 1000
Minimum 100


com.ibm.ws.cache.CacheConfig.lruToDiskTriggerPercent

Set the percentage of the memory cache size to be used as an overflow buffer when disk offload is enabled.

Cache entries in the overflow buffer are purged and asynchronously offloaded to disk at a frequency of lruToDiskTriggerTime milliseconds. If the memory overflow buffer is full, cache entries are offloaded to disk synchronously on the thread for the caller.

Information Value
Units integer, percentage
Lower bound 0
Upper bound 100
Scope Configurable per cache instance.


com.ibm.ws.cache.CacheConfig.lruToDiskTriggerTime

Set the frequency with which cache entries in memory are asynchronously offloaded to disk when the disk offload feature is enabled.

Information Value
Units integer, milliseconds
Lower bound 0
Upper bound 5000
Scope Applicable to all cache instances.


  • Configure dynamic cache disk offload
  • Troubleshooting tips for the dynamic cache service