J'utilise JBoss 7.1.3.AS avec Java 6 et cette version de ehcache.
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.1.0.Final</version>
</dependency>
Nous fonctionnons sur Amazon Linux. Comment puis-je déterminer la quantité de mémoire utilisée par ehcache ? Je peux voir des statistiques sur la quantité de mémoire utilisée par JBOss avec top
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12159 jboss 20 0 14.9g 5.7g 25m S 163.2 19.3 225:18.15 java
et combien de mémoire libre il y a sur notre système
[dalvarado@east1c ~]$ free -m
total used free shared buffers cached
Mem: 30104 8099 22004 0 161 1859
-/+ buffers/cache: 6078 24026
Swap: 0 0 0
mais je souhaite connaître la quantité de mémoire utilisée par notre ehcache afin de pouvoir redimensionner le nombre d'entrées de notre cache par défaut. Notez qu'étant donné que nous sommes dans un environnement de production, l'ajout d'un nouveau code Java n'est pas une option immédiate. Voici la configuration de ehcache
<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="200000"
eternal="false"
timeToIdleSeconds="86400"
timeToLiveSeconds="86400"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU">
</defaultCache>
<cache name="main" maxElementsInMemory="200000" />
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
multicastGroupPort=4446, timeToLive=32"/>
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=localhost, port=40001,
socketTimeoutMillis=2000"/>
</ehcache>