+

Search Tips   |   Advanced Search

Java virtual machine cache settings

Use this page to 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 set on the cache instance overrides the global value.


Configure the custom properties on a single object cache instance or servlet cache instance

  1. In the 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 | Custom properties | New

  2. Type the name of the custom property.

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

      explictBufferLimitOnStop

    ...to configure...

      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.


Configure the custom property globally across all configured cache instances

  1. In the console, click...

      Servers | Application servers | server_name | Java and process management | Process management | Process definition | Java virtual machine | Custom properties | New

  2. 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 WebSphere Application Server.

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

Important: Setting these custom properties using wsadmin is deprecated for WAS v7. Use the console to set these properties. The individual property descriptions include information on how to use the 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 the 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

Use 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.

If 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.

Important: We cannot use the 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, you should use the console to set this property. To set this property in the 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 that are 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 to increase the performance of the disk cache.

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

Then:

  1. Under Disk Cache setting, select the field...

      Enable disk offload field

  2. Under Disk Cache settings, select...

      Limit disk cache size in entries

  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

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.


Related

  • Troubleshooting tips for the dynamic cache service