configuration Java et mémoire RAm disponible

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012 09:24 AM
Bonjour,
Je reviens encore avec un problème…
Hardware: Fujitsu Siemens Quad Core 3.00GHz
RAM: 5 GB
Etat de la mémoire lorsque Alfresco est stoppé:
Il 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:
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:
J'ai essayé ensuite de modifier ce fichier selon les directives données dans: http://wiki.alfresco.com/wiki/JVM_Tuning
En suivant le paragraphe:
Etat de mon fichier après la modif:
Le log de tomcat
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:
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 aide
Jean
Je reviens encore avec un problème…
Hardware: Fujitsu Siemens Quad Core 3.00GHz
RAM: 5 GB
Etat de la mémoire lorsque Alfresco est stoppé:
root@SMALF001:/var/log# free -g -m total used free shared buffers cachedMem: 5229 3714 1515 0 213 2881-/+ buffers/cache: 619 4609Swap: 7627 6 7620root@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 cachedMem: 5229 5192 37 0 212 2918-/+ buffers/cache: 2060 3168Swap: 7627 6 7620root@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 moreCaused by: java.lang.OutOfMemoryError: Java heap space10:30:30,235 ERROR [org.alfresco.repo.activities.feed.AbstractFeedGenerator] Exception during generation of feedsjava.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.ORIGJAVA_HOME=/opt/alfresco-4.0.d/javaJRE_HOME=/opt/alfresco-4.0.d/javaJAVA_OPTS="$JAVA_OPTS "export JAVA_HOMEexport JRE_HOMEexport JAVA_OPTSroot@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_Tuning
En 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.shJAVA_HOME=/opt/alfresco-4.0.d/javaJRE_HOME=/opt/alfresco-4.0.d/javaJAVA_OPTS="-server-Xss1024K-Xms256M-Xmx1GB-XX:MaxPermSize=256M"export JAVA_HOMEexport JRE_HOMEexport JAVA_OPTSroot@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: -Xmx1GBCould 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 moreCaused 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 moreCaused by: java.lang.OutOfMemoryError: Java heap space15: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 moreCaused 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 moreCaused 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 moreCaused 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 aide
Jean
Labels:
- Labels:
-
Archive
8 REPLIES 8
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012 09:37 AM
Bonjour,
Essayez de changer la configuration plutôt dans /opt/alfresco-4.0.d/tomcat/scripts/ctl.sh (à deux places dans ce fichier).
Sauf erreur, les GB sont définis avec g et non gb.
Par exemple
Essayez de changer la configuration plutôt dans /opt/alfresco-4.0.d/tomcat/scripts/ctl.sh (à deux places dans ce fichier).
Sauf erreur, les GB sont définis avec g et non gb.
Par exemple
export JAVA_OPTS="-XX:MaxPermSize=512m -Xms1g -Xmx2g -XX:-DisableExplicitGC …
Pourriez-vous me conseiller un paramétrage valable pour faire tourner Alfresco sur ce serveur, avec la mémoire dont je dispose ?Je laisse les experts répondrent… (en attendant : http://wiki.alfresco.com/wiki/JVM_Tuning).

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2012 11:02 AM
Merci pour votre réponse,
Ca va nettement mieux quand on va à l'encontre des conseils donnés dans la doc !!! ???
Alors que logiquement, je m'attendait à retrouver mon serveur swapper à fond… :?
En lieu et place du fichier de swap, ce sont les buffers/cache de la machine qui se sont remplis…
j'ai bien peur de ne pas avoir tout "capté", quelqu'un pourrait-il expliquer celà ?
Bonne soirée
Jean
Ca va nettement mieux quand on va à l'encontre des conseils donnés dans la doc !!! ???
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 OSBien que m'attendant à retrouver le serveur "au tapis" j'ai tout de même essayé la config. suivante:
-Xmx2048m
On peut constater le changement dans le log:16:38:01,996 INFO [org.alfresco.service.descriptor.DescriptorService] Alfresco JVM - v1.6.0_22-b04; maximum heap size 1820.500MB
Et oh miracle ! Je peux non seulement me logguer mais aussi naviguer dans mes sites très chargés en documents.Alors que logiquement, je m'attendait à retrouver mon serveur swapper à fond… :?
root@SMALF001:/opt/alfresco-4.0.d# free -g -m total used free shared buffers cachedMem: 5229 5040 189 0 177 2343-/+ buffers/cache: 2519 2709Swap: 7627 6 7621root@SMALF001:/opt/alfresco-4.0.d#
Mais pas du tout, et la performance paraît tout à fait acceptable !En lieu et place du fichier de swap, ce sont les buffers/cache de la machine qui se sont remplis…
j'ai bien peur de ne pas avoir tout "capté", quelqu'un pourrait-il expliquer celà ?
Bonne soirée
Jean
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-28-2012 01:40 AM
Je ne suis pas gouru Linux (ni gouru tout court) mais il me semble que pour connaître l'espace mémoire disponible il faut regarder le champs free de "+/- buffers/cache.
root@SMALF001:/opt/alfresco-4.0.d# free -g -m total used free shared buffers cachedMem: 5229 5040 189 0 177 2343-/+ buffers/cache: 2519 2709Swap: 7627 6 7621root@SMALF001:/opt/alfresco-4.0.d#
Dans votre exemple il resterait encore 2709 mg de libre pour des applications. (attention, Java n'a pas forcément utilisé toute la mémoire qu'il a a disposition Xmx).

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-28-2012 03:11 AM
Dans votre exemple il resterait encore 2709 mg de libre pour des applications. (attention, Java n'a pas forcément utilisé toute la mémoire qu'il a a disposition Xmx).Au temps pour moi… Vous avez raison, c'est la 2ème ligne qu'il faut regarder…

Et pour Java, sauriez-vous comment connaître ce qui est réellement utilisé à un moment donné ?
Merci pour vos indications !
Jean
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-30-2012 01:41 AM
On peut utiliser la commande top. Pour aller plus loin dans les applications Java voir VisualVM.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-30-2012 03:53 AM
Plutot que top, je vous conseilles d'utiliser la commande htop, beaucoup plus pertinente.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-30-2012 05:14 AM
En effet, -Xmx1G plutot que -Xmx1GB…
En ce qui concerne la RAM :
buffers/cache est géré automatiquement par le kernel en fonction de la RAM libre : caches de filesystem, etc… Ces caches sont utiles, notamment pour les performances de Lucene. si vous additionez RAM "libre" (189), ainsi que buffers et cached, vous obtenez les 2709 "potentiellement libres".
En outre, si vous voulez privilégier l'usage de RAM plutôt que la swap, je vous suggère d'ajuster la variable kernel vm.swappiness, qui détermine à partir de quel pourcentage de RAM "occupée", le kernel va commencer à swapper des pages. vous pouvez mettre, par exemple, vm.swappiness=2 dans /etc/sysctl.conf, et ensuite exécuter sysctl -p (sous root). La valeur par défaut est de 60, i.e commencer à swapper à partir de 40% d'occupation.
Etc…
En ce qui concerne la RAM :
Mem: 5229 5040 189 0 177 2343-/+ buffers/cache: 2519 2709Swap: 7627 6 7621
buffers/cache est géré automatiquement par le kernel en fonction de la RAM libre : caches de filesystem, etc… Ces caches sont utiles, notamment pour les performances de Lucene. si vous additionez RAM "libre" (189), ainsi que buffers et cached, vous obtenez les 2709 "potentiellement libres".
En outre, si vous voulez privilégier l'usage de RAM plutôt que la swap, je vous suggère d'ajuster la variable kernel vm.swappiness, qui détermine à partir de quel pourcentage de RAM "occupée", le kernel va commencer à swapper des pages. vous pouvez mettre, par exemple, vm.swappiness=2 dans /etc/sysctl.conf, et ensuite exécuter sysctl -p (sous root). La valeur par défaut est de 60, i.e commencer à swapper à partir de 40% d'occupation.
Etc…

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-30-2012 07:03 AM
Merci beaucoup à tout le monde pour toutes ces infos utiles !
Jean
Jean
