如何增加JVM堆大小YouTrack 5.1

时间:2014-03-03 22:57:54

标签: tomcat jvm out-of-memory youtrack

我在Windows环境(作为服务)中运行YouTrack 5.1,并在下面获取OutOfMemory异常。有没有办法在作为服务运行时增加堆大小?

03 Mar 2014 14:52:23,363 ERROR [JobRunShell         ] [QuartzJobProcessor0                               ] [] Job webr.framework.controller.BeanContainerAwareExecutorWrapper@1af4241.VerifyUsableSpaceOnScheduleDetail threw an unhandled Exception: 
org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class jetbrains.mps.businessRules.runtime.impl.RuleJobImpl] failed; nested exception is java.lang.OutOfMemoryError: Java heap space
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:320)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at jetbrains.exodus.core.execution.RunnableJob.execute(RunnableJob.java:41)
    at jetbrains.exodus.core.execution.Job.run(Job.java:99)
    at jetbrains.exodus.core.execution.ThreadJobProcessor.executeJob(ThreadJobProcessor.java:132)
    at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.doExecuteJob(JobProcessorQueueAdapter.java:254)
    at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.doJobs(JobProcessorQueueAdapter.java:167)
    at jetbrains.exodus.core.execution.ThreadJobProcessor.run(ThreadJobProcessor.java:110)
    at jetbrains.exodus.core.execution.ThreadJobProcessor$1.run(ThreadJobProcessor.java:43)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at jetbrains.exodus.tree.btree.BTreeBase.loadLeaf(BTreeBase.java:155)
    at jetbrains.exodus.tree.btree.BasePageMutable.getKey(BasePageMutable.java:166)
    at jetbrains.exodus.tree.btree.InternalPageMutable.getKey(InternalPageMutable.java:30)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:268)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:231)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:226)
    at jetbrains.exodus.tree.btree.InternalPage.binarySearchGuessUnsafe(InternalPage.java:210)
    at jetbrains.exodus.tree.btree.InternalPage.binarySearchGuess(InternalPage.java:200)
    at jetbrains.exodus.tree.btree.InternalPageMutable.delete(InternalPageMutable.java:304)
    at jetbrains.exodus.tree.btree.InternalPageMutable.delete(InternalPageMutable.java:306)
    at jetbrains.exodus.tree.btree.BTreeMutable.delete(BTreeMutable.java:188)
    at jetbrains.exodus.tree.btree.BTreeMutable.deleteImpl(BTreeMutable.java:175)
    at jetbrains.exodus.tree.btree.BTreeMutable.delete(BTreeMutable.java:149)
    at jetbrains.exodus.env.StoreImpl.delete(StoreImpl.java:109)
    at jetbrains.exodus.database.impl.PropertiesTable.deleteNoFail(PropertiesTable.java:115)
    at jetbrains.exodus.database.PersistentEntityStoreImpl.clearProperties(PersistentEntityStoreImpl.java:823)
    at jetbrains.exodus.database.PersistentEntityStoreImpl.deleteEntity(PersistentEntityStoreImpl.java:1518)
    at jetbrains.exodus.database.PersistentEntity.delete(PersistentEntity.java:160)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.deleteEntityInternal(TransientSessionImpl.java:1404)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.access$1100(TransientSessionImpl.java:26)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl$20.run(TransientSessionImpl.java:1396)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.addChangeAndRun(TransientSessionImpl.java:1653)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.deleteEntity(TransientSessionImpl.java:1394)
    at com.jetbrains.teamsys.dnq.database.TransientEntityImpl.delete(TransientEntityImpl.java:326)
    at com.jetbrains.teamsys.dnq.database.EntityOperations.remove(EntityOperations.java:61)
    at com.jetbrains.teamsys.dnq.database.EntityOperations.remove(EntityOperations.java:30)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then$1.visit(AdministrativeTasks_VerifyUsableSpace_Then.java:45)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then$1.visit(AdministrativeTasks_VerifyUsableSpace_Then.java:43)
    at jetbrains.mps.internal.collections.runtime.IVisitor.invoke(IVisitor.java:14)
    at jetbrains.mps.internal.collections.runtime.IterableUtils.visitAll(IterableUtils.java:17)
    at jetbrains.mps.internal.collections.runtime.Sequence.visitAll(Sequence.java:85)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then.run(AdministrativeTasks_VerifyUsableSpace_Then.java:43)
03 Mar 2014 14:52:23,363 ERROR [ErrorLogger         ] [QuartzJobProcessor0                               ] [] Job (webr.framework.controller.BeanContainerAwareExecutorWrapper@1af4241.VerifyUsableSpaceOnScheduleDetail threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class jetbrains.mps.businessRules.runtime.impl.RuleJobImpl] failed; nested exception is java.lang.OutOfMemoryError: Java heap space]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
    at jetbrains.exodus.core.execution.RunnableJob.execute(RunnableJob.java:41)
    at jetbrains.exodus.core.execution.Job.run(Job.java:99)
    at jetbrains.exodus.core.execution.ThreadJobProcessor.executeJob(ThreadJobProcessor.java:132)
    at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.doExecuteJob(JobProcessorQueueAdapter.java:254)
    at jetbrains.exodus.core.execution.JobProcessorQueueAdapter.doJobs(JobProcessorQueueAdapter.java:167)
    at jetbrains.exodus.core.execution.ThreadJobProcessor.run(ThreadJobProcessor.java:110)
    at jetbrains.exodus.core.execution.ThreadJobProcessor$1.run(ThreadJobProcessor.java:43)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'execute' on target class [class jetbrains.mps.businessRules.runtime.impl.RuleJobImpl] failed; nested exception is java.lang.OutOfMemoryError: Java heap space
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:320)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:113)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    ... 8 more
Caused by: java.lang.OutOfMemoryError: Java heap space
    at jetbrains.exodus.tree.btree.BTreeBase.loadLeaf(BTreeBase.java:155)
    at jetbrains.exodus.tree.btree.BasePageMutable.getKey(BasePageMutable.java:166)
    at jetbrains.exodus.tree.btree.InternalPageMutable.getKey(InternalPageMutable.java:30)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:268)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:231)
    at jetbrains.exodus.tree.btree.BasePageMutable.binarySearch(BasePageMutable.java:226)
    at jetbrains.exodus.tree.btree.InternalPage.binarySearchGuessUnsafe(InternalPage.java:210)
    at jetbrains.exodus.tree.btree.InternalPage.binarySearchGuess(InternalPage.java:200)
    at jetbrains.exodus.tree.btree.InternalPageMutable.delete(InternalPageMutable.java:304)
    at jetbrains.exodus.tree.btree.InternalPageMutable.delete(InternalPageMutable.java:306)
    at jetbrains.exodus.tree.btree.BTreeMutable.delete(BTreeMutable.java:188)
    at jetbrains.exodus.tree.btree.BTreeMutable.deleteImpl(BTreeMutable.java:175)
    at jetbrains.exodus.tree.btree.BTreeMutable.delete(BTreeMutable.java:149)
    at jetbrains.exodus.env.StoreImpl.delete(StoreImpl.java:109)
    at jetbrains.exodus.database.impl.PropertiesTable.deleteNoFail(PropertiesTable.java:115)
    at jetbrains.exodus.database.PersistentEntityStoreImpl.clearProperties(PersistentEntityStoreImpl.java:823)
    at jetbrains.exodus.database.PersistentEntityStoreImpl.deleteEntity(PersistentEntityStoreImpl.java:1518)
    at jetbrains.exodus.database.PersistentEntity.delete(PersistentEntity.java:160)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.deleteEntityInternal(TransientSessionImpl.java:1404)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.access$1100(TransientSessionImpl.java:26)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl$20.run(TransientSessionImpl.java:1396)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.addChangeAndRun(TransientSessionImpl.java:1653)
    at com.jetbrains.teamsys.dnq.database.TransientSessionImpl.deleteEntity(TransientSessionImpl.java:1394)
    at com.jetbrains.teamsys.dnq.database.TransientEntityImpl.delete(TransientEntityImpl.java:326)
    at com.jetbrains.teamsys.dnq.database.EntityOperations.remove(EntityOperations.java:61)
    at com.jetbrains.teamsys.dnq.database.EntityOperations.remove(EntityOperations.java:30)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then$1.visit(AdministrativeTasks_VerifyUsableSpace_Then.java:45)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then$1.visit(AdministrativeTasks_VerifyUsableSpace_Then.java:43)
    at jetbrains.mps.internal.collections.runtime.IVisitor.invoke(IVisitor.java:14)
    at jetbrains.mps.internal.collections.runtime.IterableUtils.visitAll(IterableUtils.java:17)
    at jetbrains.mps.internal.collections.runtime.Sequence.visitAll(Sequence.java:85)
    at jetbrains.charisma.persistent.AdministrativeTasks_VerifyUsableSpace_Then.run(AdministrativeTasks_VerifyUsableSpace_Then.java:43)

2 个答案:

答案 0 :(得分:2)

解决方案是运行%your_YouTrack_location%\bin\tomcat6w.exe //ES//YouTrack,这将为tomcat设置打开GUI编辑器,并增加了Java选项卡上的最大内存池设置。

enter image description here

答案 1 :(得分:1)

作为服务安装时,YouTrack在Apache Tomcat中运行,因此对于任何Tomcat作为服务安装,答案也是正确的。以下是有关如何在YouTrack中更改root密码的文档:http://confluence.jetbrains.com/display/YTD5/FAQ#FAQ-HowtorestoremyrootpasswordifIrunYouTrackasWindowsservice%3F。 您只需要设置-Xmx1024m,而不是提供-Djetbrains.charisma.restoreRootPassword = true,其中1024是以MB为单位的堆大小。