我在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)
答案 0 :(得分:2)
解决方案是运行%your_YouTrack_location%\bin\tomcat6w.exe //ES//YouTrack
,这将为tomcat设置打开GUI编辑器,并增加了Java选项卡上的最大内存池设置。
答案 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为单位的堆大小。