私たちはJBoss 7.1.3.Final、Java 7、およびHibernate 5.1.5.Finalを使用しています。私は24時間キャッシュ内に滞在するアイテムをご希望のHibernateキャッシュ内のアイテムを少なくとも24時間保管するにはどうすればいいですか?
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../config/ehcache.xsd" updateCheck="false">
<!-- This is a default configuration for 256Mb of cached data using the JVM's heap, but it must be adjusted
according to specific requirement and heap sizes -->
<defaultCache maxElementsInMemory="750000"
eternal="false"
timeToIdleSeconds="86400"
timeToLiveSeconds="86400"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU">
</defaultCache>
<cache name="main" maxElementsInMemory="750000" />
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=240.0.0.1,
multicastGroupPort=4446, timeToLive=32"/>
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=localhost, port=40001,
socketTimeoutMillis=2000"/>
</ehcache>
...私たちは、これらのメモリ設定
JAVA_OPTS="-Xms256m -Xmx25600m -XX:-UseGCOverheadLimit -XX:MaxPermSize=512m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
でJBossを起動し、これが私たちのehcache.xmlの設定です。しかし、私が気づいたことは、私が使用している場合、「トップ」JBossは私がしかし
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8429 jboss 20 0 30.8g 2.1g 28m S 113.6 7.3 156:32.74 java
のようなものを参照してください使用しているどのくらいのメモリ検討するということである、「RES」数は "上がって、日中にドリフトします交通量が多いときは10g、その後交通量が少ないときは夕方に下がります。アイテムが少なくとも24時間キャッシュに入っていて、JBossを再起動していない場合は、「RES」番号は高く保たれてはいけませんか?私の理解によれば、この数値は、Hibernateキャッシュを含むヒープのサイズと相関しています。
私たちは本番マシンにjstatをインストールしていません(それを行うオプションではありません)。そして、 "Javaプロセス全体"にはキャッシュが含まれていますか?その数値は完全には正確ではないかもしれませんが、サイズが増減するにつれてキャッシュの影響を受けます。 – Dave
いいえ、RES番号は物理メモリの量、つまりOSによってスワップアウトされていないメモリの量を示します。たとえば、キャッシュには4G分のオブジェクトが格納されている可能性がありますが、その部分は物理メモリまたはディスクのいずれかに存在する可能性があります。 jstatを実行できない場合は、JVMやehcache APIを呼び出して、ヒープ/キャッシュの統計収集コードをアプリケーションに組み込む必要があります。 – jingx
スワップアウトされていないので、キャッシュを使用するためのメモリが必要な場合は、キャッシュに書き込まれませんか?私は "free -m"を使ってスワップされるものがないことを検証できませんでしたか? – Dave