Bonjour,Je reviens encore avec un problème…Hardware: Fujitsu Siemens Quad Core 3.00GHzRAM: 5 GBEtat de la mémoire lorsque Alfresco est stoppé:
root@SMALF001:/var/log# free -g -m
total used free shared buffers cached
Mem: 5229 3714 1515 0 213 2881
-/+ buffers/cache: 619 4609
Swap: 7627 6 7620
root@SMALF001:/var/log#
Etat de la mémoire lorsque Alfresco est démarré:root@SMALF001:/var/log# free -g -m
total used free shared buffers cached
Mem: 5229 5192 37 0 212 2918
-/+ buffers/cache: 2060 3168
Swap: 7627 6 7620
root@SMALF001:/var/log#
Mon utilisation AlfrescoIl est prévu de mettre en ligne la documentation de nos client pour que ceux-ci puissent la consulter, après s'être loggués sur leur compte Alfresco personnel.A terme, ceux-ci pourront également déposer des fichiers dans un endroit qui leur sera dédié.Un script tourne 1 fois par semaine pour synchroniser le contenu de l'un de nos serveurs windows, sur le serveur Alfresco (synchro effectuée via CIFS avec un script robocopy)La quantité de données est d'environ 4 GB lors de la première copie.Ensuite, seul le différentiel est recopié ( robocopy /MIR …)Problème: évidemment, on peut voir dans la consommation mémoire qu'il y a un problème… Qui se traduit dans les logs par le genre de message suivant: limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.transform.FailoverContentTransformer.transformInternal(FailoverContentTransformer.java:170)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:171)
… 85 more
Caused by: java.lang.OutOfMemoryError: Java heap space
10:30:30,235 ERROR [org.alfresco.repo.activities.feed.AbstractFeedGenerator] Exception during generation of feeds
java.lang.IllegalStateException: lockToken is not null
at org.alfresco.repo.activities.feed.AbstractFeedGenerator$LockTracker.refreshLock(AbstractFeedGenerator.java:231)
at org.alfresco.repo.activities.feed.AbstractFeedGenerator.acquireLock(AbstractFeedGenerator.java:210)
at org.alfresco.repo.activities.feed.AbstractFeedGenerator.execute(AbstractFeedGenerator.java:161)
at org.alfresco.repo.activities.feed.FeedGeneratorJob.execute(FeedGeneratorJob.java:50)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Dans ces conditions, j'arrive à me logguer sur le tableau de bord administrateur ou utilisateur sans trop de problème. Mais ensuite, dès que je clique sur un site qui contient de la documentation, je suis éjecté de l'interface web, avec des "timeout" et autre "Java errors"… Il est bien clair que je suis à court de RAM.Etant donné que la doc dit que le paramétrage par défaut devrait suffire pour la plupart des cas de figure, je n'ai pas encore modifié mon fichier de paramétrage Java:
root@SMALF001:/opt/alfresco-4.0.d/tomcat/bin# cat setenv.sh.ORIG
JAVA_HOME=/opt/alfresco-4.0.d/java
JRE_HOME=/opt/alfresco-4.0.d/java
JAVA_OPTS="$JAVA_OPTS "
export JAVA_HOME
export JRE_HOME
export JAVA_OPTS
root@SMALF001:/opt/alfresco-4.0.d/tomcat/bin#
J'ai essayé ensuite de modifier ce fichier selon les directives données dans: http://wiki.alfresco.com/wiki/JVM_TuningEn suivant le paragraphe:JVM Settings
General Case
For most cases, tuning the JVM is done in five steps:
Throw as much RAM as possible at the JVM (-Xmx32GB),
Set the stack to 1MB (-Xss1024k),
Set the perm gen to 256M (-XX:MaxPermSize:256m),
Ensure the "server" VM is used (-server),
Don't add any other configuration settings.
Be aware that to avoid memory swapping, -Xmx should never exceed the available RAM in the system. Remember to leave room for memory used by the OS and other applications like OpenOffice via JOD (JOD often uses 1GB of RAM per OO instance).
In general, if you don't give the JVM enough heap, playing with other JVM settings will not help. Once the JVM has enough heap, playing with other JVM settings won't make much of a difference. The 1.6 JVM is generally excellent at memory optimization and should be allowed to function.
Etat de mon fichier après la modif:root@SMALF001:/opt/alfresco-4.0.d/tomcat/bin# cat setenv.sh
JAVA_HOME=/opt/alfresco-4.0.d/java
JRE_HOME=/opt/alfresco-4.0.d/java
JAVA_OPTS="-server
-Xss1024K
-Xms256M
-Xmx1GB
-XX:MaxPermSize=256M"
export JAVA_HOME
export JRE_HOME
export JAVA_OPTS
root@SMALF001:/opt/alfresco-4.0.d/tomcat/bin#
Avec cette config, Tomcat ne démarre même pas…Le log de tomcat
…
Invalid maximum heap size: -Xmx1GB
Could not create the Java virtual machine.
Si je remets la config par défaut, le serveur redémarre, avec le message suivant:[org.alfresco.service.descriptor.DescriptorService] Alfresco JVM - v1.6.0_22-b04; maximum heap size 910.250MB
S'agit-il du maximum de mémoire trouvé et utilisé automatiquement par la JVM ? (d'où le message "invalid maximum heap size: -Xmx1GB" mentionné plus haut ?)Celà veut-il dire que je n'ai pas assez de RAM disponible sur ce serveur pour faire tourner Alfresco correctement ?Dernière tentative de redémarrage avec le fichier de conf Java non modifié. Je peux me logguer admin mais ensuite, dès que je clique sur un site qui contient des documents (pdf, word…)je me fais éjecter de l'interface web et la mémoire se trouve dans cet état:15:20:25,484 WARN [org.alfresco.repo.activities.post.lookup.PostLookup] Still busy …
…
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 02270063 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2012/3/23/19/59/af9ee290-51a1-4a80-92da-fd793a181676.bin, mimetype=application/pdf, size=2376208, encoding=UTF-8, locale=fr_CH]
writer: ContentAccessor[ contentUrl=store:///opt/alfresco-4.0.d/tomcat/temp/Alfresco/ComplextTransformer_intermediate_pdf_7584512636522201893.png, mimetype=image/png, size=0, encoding=UTF-8, locale=fr_CH]
options: {targetContentProperty=null, contentReaderNodeRef=null, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], sourceContentProperty=null, includeEmbedded=false, imageCropOptions=null, commandOptions=, imageAutoOrient=true}
limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.transform.ComplexContentTransformer.transformInternal(ComplexContentTransformer.java:255)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:171)
… 85 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 02270062 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2012/3/23/19/59/af9ee290-51a1-4a80-92da-fd793a181676.bin, mimetype=application/pdf, size=2376208, encoding=UTF-8, locale=fr_CH]
writer: ContentAccessor[ contentUrl=store:///opt/alfresco-4.0.d/tomcat/temp/Alfresco/FailoverTransformer_intermediate_PdfBoxPdfToImageContentTransformer_5325793497109153698.png, mimetype=image/png, size=0, encoding=UTF-8, locale=fr_CH]
options: {targetContentProperty=null, contentReaderNodeRef=null, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], sourceContentProperty=null, includeEmbedded=false, imageCropOptions=null, commandOptions=, imageAutoOrient=true}
limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.transform.FailoverContentTransformer.transformInternal(FailoverContentTransformer.java:170)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:171)
… 87 more
Caused by: java.lang.OutOfMemoryError: Java heap space
15:22:33,908 ERROR [org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl] Failed to execute asynchronous action: Action[ id=a0fce0a4-e9b8-49c5-8d7b-b57cd62be8c6, node=null ]
org.alfresco.error.AlfrescoRuntimeException: 02270057 Creation of thumbnail 'doclib' failed
at org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter.executeImpl(CreateThumbnailActionExecuter.java:186)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:196)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:780)
at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:700)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1$1.execute(AsynchronousActionExecutionQueueImpl.java:403)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:259)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper$1.doWork(AsynchronousActionExecutionQueueImpl.java:412)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:519)
at org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl$ActionExecutionWrapper.run(AsynchronousActionExecutionQueueImpl.java:415)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 02270056 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2012/3/23/19/58/38448fe7-895f-4b33-8012-38ccf622c954.bin, mimetype=application/pdf, size=2376195, encoding=UTF-8, locale=fr_CH]
writer: ContentAccessor[ contentUrl=store://2012/3/27/15/19/31eb13e7-7742-4770-9d16-cc8839a81882.bin, mimetype=image/png, size=0, encoding=UTF-8, locale=fr_CH]
options: {targetContentProperty=null, contentReaderNodeRef=null, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], sourceContentProperty=null, includeEmbedded=false, imageCropOptions=null, commandOptions=, imageAutoOrient=true}
limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.ContentServiceImpl.transform(ContentServiceImpl.java:589)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:80)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.model.ml.MLContentInterceptor.invoke(MLContentInterceptor.java:125)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy52.transform(Unknown Source)
at org.alfresco.repo.rendition.executer.AbstractTransformationRenderingEngine.render(AbstractTransformationRenderingEngine.java:120)
at org.alfresco.repo.rendition.executer.AbstractRenderingEngine.executeRenditionImpl(AbstractRenderingEngine.java:504)
at org.alfresco.repo.rendition.executer.AbstractRenderingEngine$1.doWork(AbstractRenderingEngine.java:428)
at org.alfresco.repo.rendition.executer.AbstractRenderingEngine$1.doWork(AbstractRenderingEngine.java:408)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:519)
at org.alfresco.repo.rendition.executer.AbstractRenderingEngine.executeImpl(AbstractRenderingEngine.java:407)
at org.alfresco.repo.rendition.executer.AbstractRenderingEngine.executeImpl(AbstractRenderingEngine.java:369)
at org.alfresco.repo.action.executer.ActionExecuterAbstractBase.execute(ActionExecuterAbstractBase.java:196)
at org.alfresco.repo.action.ActionServiceImpl.directActionExecution(ActionServiceImpl.java:780)
at org.alfresco.repo.action.ActionServiceImpl.executeActionImpl(ActionServiceImpl.java:700)
at org.alfresco.repo.action.ActionServiceImpl.executeAction(ActionServiceImpl.java:538)
at sun.reflect.GeneratedMethodAccessor616.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:34)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy37.executeAction(Unknown Source)
at org.alfresco.repo.rendition.RenditionServiceImpl.executeRenditionAction(RenditionServiceImpl.java:281)
at org.alfresco.repo.rendition.RenditionServiceImpl.render(RenditionServiceImpl.java:183)
at org.alfresco.repo.thumbnail.ThumbnailServiceImpl.createThumbnailNode(ThumbnailServiceImpl.java:588)
at org.alfresco.repo.thumbnail.ThumbnailServiceImpl.access$000(ThumbnailServiceImpl.java:67)
at org.alfresco.repo.thumbnail.ThumbnailServiceImpl$1.doWork(ThumbnailServiceImpl.java:262)
at org.alfresco.repo.thumbnail.ThumbnailServiceImpl$1.doWork(ThumbnailServiceImpl.java:259)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:519)
at org.alfresco.repo.thumbnail.ThumbnailServiceImpl.createThumbnail(ThumbnailServiceImpl.java:258)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.alfresco.repo.security.permissions.impl.AlwaysProceedMethodInterceptor.invoke(AlwaysProceedMethodInterceptor.java:34)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy123.createThumbnail(Unknown Source)
at org.alfresco.repo.thumbnail.CreateThumbnailActionExecuter.executeImpl(CreateThumbnailActionExecuter.java:177)
… 12 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 02270055 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2012/3/23/19/58/38448fe7-895f-4b33-8012-38ccf622c954.bin, mimetype=application/pdf, size=2376195, encoding=UTF-8, locale=fr_CH]
writer: ContentAccessor[ contentUrl=store:///opt/alfresco-4.0.d/tomcat/temp/Alfresco/ComplextTransformer_intermediate_pdf_2938418362726594087.png, mimetype=image/png, size=0, encoding=UTF-8, locale=fr_CH]
options: {targetContentProperty=null, contentReaderNodeRef=null, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], sourceContentProperty=null, includeEmbedded=false, imageCropOptions=null, commandOptions=, imageAutoOrient=true}
limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.transform.ComplexContentTransformer.transformInternal(ComplexContentTransformer.java:255)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:171)
… 85 more
Caused by: org.alfresco.service.cmr.repository.ContentIOException: 02270054 Content conversion failed:
reader: ContentAccessor[ contentUrl=store://2012/3/23/19/58/38448fe7-895f-4b33-8012-38ccf622c954.bin, mimetype=application/pdf, size=2376195, encoding=UTF-8, locale=fr_CH]
writer: ContentAccessor[ contentUrl=store:///opt/alfresco-4.0.d/tomcat/temp/Alfresco/FailoverTransformer_intermediate_PdfBoxPdfToImageContentTransformer_7447055922792587614.png, mimetype=image/png, size=0, encoding=UTF-8, locale=fr_CH]
options: {targetContentProperty=null, contentReaderNodeRef=null, contentWriterNodeRef=null, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], sourceContentProperty=null, includeEmbedded=false, imageCropOptions=null, commandOptions=, imageAutoOrient=true}
limits: {timeoutMs=120000, maxPages=-1, readLimitKBytes=-1, maxSourceSizeKBytes=-1, pageLimit=1, readLimitTimeMs=-1}
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:188)
at org.alfresco.repo.content.transform.FailoverContentTransformer.transformInternal(FailoverContentTransformer.java:170)
at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:171)
… 87 more
Caused by: java.lang.OutOfMemoryError: Java heap space
Pourriez-vous me conseiller un paramétrage valable pour faire tourner Alfresco sur ce serveur, avec la mémoire dont je dispose ?Merci d'avance pour votre aideJean