此内容没有您所选择的语言版本。

Chapter 22. Activation and Passivation Modes


22.1. Activation and Passivation Modes

Activation is the process of loading an entry into memory and removing it from the cache store. Activation occurs when a thread attempts to access an entry that is in the store but not the memory (namely a passivated entry).

Passivation mode allows entries to be stored in the cache store after they are evicted from memory. Passivation prevents unnecessary and potentially expensive writes to the cache store. It is used for entries that are frequently used or referenced and therefore not evicted from memory.

While passivation is enabled, the cache store is used as an overflow tank, similar to virtual memory implementation in operating systems that swap memory pages to disk.

The passivation flag is used to toggle passivation mode, a mode that stores entries in the cache store only after they are evicted from memory.

22.2. Passivation Mode Benefits

The primary benefit of passivation mode is that it prevents unnecessary and potentially expensive writes to the cache store. This is particularly useful if an entry is frequently used or referenced and therefore is not evicted from memory.

22.3. Configure Passivation

In Red Hat JBoss Data Grid’s Remote Client-Server mode, add the passivation parameter to the cache store element to toggle passivation for it:

Toggle Passivation in Remote Client-Server Mode

<local-cache name="customCache"/>
	<!-- Additional configuration elements for local-cache here -->
	<file-store passivation="true"
		<!-- Additional configuration elements for file-store here -->
</local-cache>
Copy to Clipboard Toggle word wrap

In Library mode, add the passivation parameter to the persistence element to toggle passivation:

Toggle Passivation in Library Mode

<persistence passivation="true">
   <!-- Additional configuration elements here -->
</persistence>
Copy to Clipboard Toggle word wrap

22.4. Evication and Passivation

22.4.1. Eviction and Passivation

To ensure that a single copy of an entry remains, either in memory or in a cache store, use passivation in conjunction with eviction.

The primary reason to use passivation instead of a normal cache store is that updating entries require less resources when passivation is in use. This is because passivation does not require an update to the cache store.

22.4.2. Eviction and Passivation Usage

If the eviction policy caused the eviction of an entry from the cache while passivation is enabled, the following occur as a result:

  • A notification regarding the passivated entry is emitted to the cache listeners.
  • The evicted entry is stored.

When an attempt to retrieve an evicted entry is made, the entry is lazily loaded into memory from the cache loader. After the entry and its children are loaded, they are removed from the cache loader and a notification regarding the entry’s activation is sent to the cache listeners.

22.4.3. Eviction Example when Passivation is Disabled

The following example indicates the state of the memory and the persistent store during eviction operations with passivation disabled.

Expand
Table 22.1. Eviction when Passivation is Disabled
StepKey in MemoryKey on Disk

Insert keyOne

Memory: keyOne

Disk: keyOne

Insert keyTwo

Memory: keyOne, keyTwo

Disk: keyOne, keyTwo

Eviction thread runs, evicts keyOne

Memory: keyTwo

Disk: keyOne, keyTwo

Read keyOne

Memory: keyOne, keyTwo

Disk: keyOne, keyTwo

Eviction thread runs, evicts keyTwo

Memory: keyOne

Disk: keyOne, keyTwo

Remove keyTwo

Memory: keyOne

Disk: keyOne

22.4.4. Eviction Example when Passivation is Enabled

The following example indicates the state of the memory and the persistent store during eviction operations with passivation enabled.

Expand
Table 22.2. Eviction when Passivation is Enabled
StepKey in MemoryKey on Disk

Insert keyOne

Memory: keyOne

Disk:

Insert keyTwo

Memory: keyOne, keyTwo

Disk:

Eviction thread runs, evicts keyOne

Memory: keyTwo

Disk: keyOne

Read keyOne

Memory: keyOne, keyTwo

Disk:

Eviction thread runs, evicts keyTwo

Memory: keyOne

Disk: keyTwo

Remove keyTwo

Memory: keyOne

Disk:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat