Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 26/11/2012 15:33:47

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Erreur java - CPU 100%

Bonjour,

Lors de l'utilisation de certaine fonction du back office (ajout d'un service/connexion cmis atom) le cpu de java.exe passe a 100%.

J'ai aussi l'erreur, java.lang.OutOfMemoryError: PermGen space
J'ai ajouté la ligne JAVA_OPTS="-Xms254m -Xmx256m -XX:PermSize=256m XX:MaxPermSize=512m" dans mon catalina.bat mais l'erreur est tjrs présente.



Voici le détail de tomcat

Exception in thread "http-apr-7080-exec-4" java.lang.OutOfMemoryError: PermGen s
pace
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at org.apache.catalina.loader.WebappClassLoader.findClassInternal(Webapp
ClassLoader.java:2904)
        at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoa
der.java:1173)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1681)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoa
der.java:1559)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.apache.commons.jxpath.JXPathContextFactory.newInstance(JXPathCont
extFactory.java:104)
        at org.apache.commons.jxpath.JXPathContext.getContextFactory(JXPathConte
xt.java:422)
        at org.apache.commons.jxpath.JXPathContext.newContext(JXPathContext.java
:402)
        at org.apache.cocoon.components.modules.input.JXPathHelper.getAttributeV
alue(JXPathHelper.java:104)
        at org.apache.cocoon.components.modules.input.AbstractJXPathModule.getAt
tribute(AbstractJXPathModule.java:107)
        at org.apache.cocoon.components.treeprocessor.variables.PreparedVariable
Resolver.processModule(PreparedVariableResolver.java:258)
        at org.apache.cocoon.components.treeprocessor.variables.PreparedVariable
Resolver.resolve(PreparedVariableResolver.java:209)
        at org.apache.cocoon.components.treeprocessor.variables.VariableResolver
.buildParameters(VariableResolver.java:107)
        at org.apache.cocoon.components.treeprocessor.sitemap.TransformNode.invo
ke(TransformNode.java:60)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNo
de.invokeNodes(AbstractParentProcessingNode.java:69)
        at org.apache.cocoon.components.treeprocessor.sitemap.SwitchSelectNode.i
nvoke(SwitchSelectNode.java:104)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNo
de.invokeNodes(AbstractParentProcessingNode.java:69)
        at org.apache.cocoon.components.treeprocessor.sitemap.HandleErrorsNode.i
nvoke(HandleErrorsNode.java:90)
        at org.apache.cocoon.components.treeprocessor.sitemap.ErrorHandlerHelper
.prepareErrorHandler(ErrorHandlerHelper.java:182)
        at org.apache.cocoon.components.treeprocessor.sitemap.ErrorHandlerHelper
.prepareErrorHandler(ErrorHandlerHelper.java:135)
        at org.apache.cocoon.components.treeprocessor.sitemap.ErrorHandlerHelper
.invokeErrorHandler(ErrorHandlerHelper.java:108)
        at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invok
e(PipelineNode.java:157)
        at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNo
de.invokeNodes(AbstractParentProcessingNode.java:69)
        at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invo
ke(PipelinesNode.java:93)
        at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proc
ess(ConcreteTreeProcessor.java:236)
        at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proc
ess(ConcreteTreeProcessor.java:178)
        at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(Tree
Processor.java:254)
        at org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(M
ountNode.java:118)


Cordialement

Offline

#2 26/11/2012 16:41:20

Cédric Damioli
Ametys Product Manager
From: Toulouse
Registered: 10/08/2010
Posts: 323

Re: Erreur java - CPU 100%

Je ne sais pas si vous avez recopié ou ré-écrit la JAVA_OPTS dans le message, mais là il manque un "-" devant XX:MaxPermSize

Offline

#3 26/11/2012 16:49:09

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Erreur java - CPU 100%

un max perm size de 256 serait largement suffisant d'ailleurs pour un tomcat qui porte le CMS et/ou le SITE


Raphael Franchet
Expert Ametys

Offline

#4 26/11/2012 17:55:28

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Re: Erreur java - CPU 100%

Exact, même avec le "-" le pblm est tjrs présent.

J'ai réinstallé le Tomcat d'Ametys sur un serveur différent que celui d'alfresco.

Dans Ametys quand je rentre les paramètres de mon connecteur CMIS, je valide sur "OK" le processeur du java.exe passe a 100%.

Voici les paramètres du connecteur CMIS:
Nom : Alfresco
URL (AtomPub Service): http://srv-appli:8080/alfresco/service/cmis
Id: e9061f43-9411-4bee-8f50-14000f1238c7
Utilisateur: admin
Mot de passe : *****

Les erreurs dans TomCat
INFO: Using random key for OAuth client-side state encryption
nov. 26, 2012 4:33:08 PM org.apache.shindig.gadgets.oauth.OAuthModule$OAuthStor
Provider loadDefaultKey
WARNING: Couldn't load OAuth signing key.  To create a key, run:
  openssl req -newkey rsa:1024 -days 365 -nodes -x509 -keyout testkey.pem \
     -out testkey.pem -subj '/CN=mytestkey'
  openssl pkcs8 -in testkey.pem -out oauthkey.pem -topk8 -nocrypt -outform PEM

Then edit shindig.properties and add these lines:
shindig.signing.key-file=<path-to-oauthkey.pem>
shindig.signing.key-name=mykey

Exception in thread "http-apr-7080-exec-8" java.lang.OutOfMemoryError: PermGen
pace
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBCont
xtImpl.java:171)
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBCont
xtImpl.java:126)
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuil
er.build(JAXBContextImpl.java:1148)
        at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFac
ory.java:130)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:248)
        at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:235)
        at javax.xml.bind.ContextFinder.find(ContextFinder.java:445)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:637)
        at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:584)
        at org.apache.chemistry.opencmis.commons.impl.JaxBHelper.<clinit>(JaxBH
lper.java:56)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubPar
er.unmarshalElement(AtomPubParser.java:391)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubPar
er.parseWorkspaceElement(AtomPubParser.java:443)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubPar
er.parseWorkspace(AtomPubParser.java:216)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubPar
er.parseServiceDoc(AtomPubParser.java:186)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AtomPubPar
er.parse(AtomPubParser.java:136)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAt
mPubService.parse(AbstractAtomPubService.java:529)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAt
mPubService.getRepositoriesInternal(AbstractAtomPubService.java:719)
        at org.apache.chemistry.opencmis.client.bindings.spi.atompub.Repository
erviceImpl.getRepositoryInfos(RepositoryServiceImpl.java:59)
        at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryService
mpl.getRepositoryInfos(RepositoryServiceImpl.java:85)
        at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getR
positories(SessionFactoryImpl.java:109)
        at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getR
positories(SessionFactoryImpl.java:96)
        at org.ametys.plugins.explorer.cmis.CMISTreeFactory.getAtomPubSession(C
ISTreeFactory.java:310)
        at org.ametys.plugins.explorer.cmis.CMISRootResourcesCollection.getCMIS
ession(CMISRootResourcesCollection.java:97)
        at org.ametys.plugins.explorer.cmis.CMISRootResourcesCollection.getIcon
CMISRootResourcesCollection.java:203)
        at org.ametys.plugins.explorer.resources.generators.ResourcesExplorerGe
erator.saxCollection(ResourcesExplorerGenerator.java:149)
        at org.ametys.plugins.explorer.resources.generators.ResourcesExplorerGe
erator._saxNode(ResourcesExplorerGenerator.java:114)
        at org.ametys.plugins.explorer.resources.generators.ResourcesExplorerGe
erator.generate(ResourcesExplorerGenerator.java:82)
        at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.pro
essXMLPipeline(AbstractProcessingPipeline.java:579)


Avez-vous une idée? une modification dans alfresco pour autoriser la connexion CMIS?

Merci

Last edited by Loïc Wyffels (26/11/2012 18:00:03)

Offline

#5 26/11/2012 19:01:52

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Erreur java - CPU 100%

Vous pouvez d'ores et déjà vérifier que le max perm size est bien pris en compte en allant dans l'administration d'Ametys  puis regardez la barre "mémoire interne".

A mon avis votre paramètre n'est pas pris en compte.


Raphael Franchet
Expert Ametys

Offline

#6 26/11/2012 19:28:41

Cédric Damioli
Ametys Product Manager
From: Toulouse
Registered: 10/08/2010
Posts: 323

Re: Erreur java - CPU 100%

Il faut savoir que la mémoire PermGen est la mémoire interne de la JVM, qui contient les classes elles-mêmes et diverses info internes
Une fois que toutes les classes sont chargées, l'utilisation n'augmente plus jamais

Offline

#7 27/11/2012 12:41:20

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Re: Erreur java - CPU 100%

Bonjour,

Exact, les paramètres de mémoire ne sont pas pris en compte.

J'ai essayé de mettre la conf: JAVA_OPTS="-Xms254m -Xmx256m -XX:PermSize=256m -XX:MaxPermSize=256m"
dans catalina.bat, catalina.sh, setenv.sh,startup.bat mais pas de changement....

C'est un tomcat V 7.0.32, avez vous une idée?
Dès que je clique sur le bouton "serveur CMIS" dans l'administration Ametys le CPU du java.exe passe à 100%

Merci

Offline

#8 27/11/2012 12:54:11

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Erreur java - CPU 100%

Le CPU doit passer à 100% à cause d'un manque de mémoire allouée, et du coup ça doit se mettre à swapper de la mémoire vers le disque...

Vous êtes sous linux ou windows ? car sous linux, modifier un .bat servira à rien et inversement avec un .sh sous windows.
En tout cas, si vous utilisez un tomcat packagé avec une distrib linux, ça dépend de comment vous demarrez le tomcat


Raphael Franchet
Expert Ametys

Offline

#9 27/11/2012 15:21:20

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Re: Erreur java - CPU 100%

Je test sur des serveurs 2008 r2 64 bits.

Loïc Wyffels
Ville d'Olivet

Offline

#10 27/11/2012 15:43:13

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Erreur java - CPU 100%

Tomcat est-il installé en service ?


Raphael Franchet
Expert Ametys

Offline

#11 27/11/2012 15:48:41

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Re: Erreur java - CPU 100%

Je test sur un serveur en tant que service et sur l'autre je le lance avec startup.bat

Offline

#12 27/11/2012 16:02:35

Raphaël Franchet
Expert Team
From: Toulouse
Registered: 10/08/2010
Posts: 1,111

Re: Erreur java - CPU 100%

En tant que service, modifier les .bat ne vous sera d'aucune aide. Il faut cherche sur internet mais de mémoire cela se passe soit au moment d'installer le service, soit dans les propriétés du service.

Pour celui lancé via le startup.bat, vous pouvez glisser ceci dans le fichier startup.bat

set JAVA_OPTS=-Djava.encoding=UTF8 -Xmx512m -XX:MaxPermSize=128M

Raphael Franchet
Expert Ametys

Offline

#13 28/11/2012 13:03:22

Loïc Wyffels
Guest
Registered: 23/11/2012
Posts: 12

Re: Erreur java - CPU 100%

Merci, ça fonctionne!!!

Offline

Board footer

Powered by FluxBB