在调试模式下启动CQ。分叉

时间:2015-10-29 07:03:20

标签: cq5 aem

我非常有兴趣知道在调试模式下启动CQ时JVM分叉会发生什么。我已经浏览了Adobe网站,但我不太清楚。 我们必须使用-nofork选项吗?或者它会自动执行此操作。

截至目前,我理解为 -

  1. 使用此参数在命令行中以调试模式启动CQ:  java -Xmx8192M -agentlib:jdwp = transport ........ -jar cq-author-4502.jar(不使用nofork)
  2. CQ启动。
  3. CQ分支新的JVM进程,即使我已经为此命令提供了太多内存。
  4. 我使用-nofork,但我开始出现内存错误。为什么???
  5. 我可以很好地理解对此的解释吗?

2 个答案:

答案 0 :(得分:0)

  

我们必须使用-nofork选项吗?

不,但如果您在特定端口上进行调试,则会强制分叉! (确保Xmx是BEEG)

如果你运行java -jar<< AEM&g​​t;> .jar - 帮助您在jar文件中获得以下内容:

-debug << port >> <br/>
Enable Java Debugging on port number; forces forking

很多文章和重叠,但希望这回答并给予深思。

好文章:
http://blogs.adobe.com/dmcmahon/2012/03/09/cq5-5-how-to-start-the-server-in-debug-mode/

答案 1 :(得分:0)

如果在jar文件上运行java -jar AEM.jar --help,则会得到:

    -debug <port>
Enable Java Debugging on port number; forces forking

这意味着它将派生一个子进程。 如果要防止分叉,请使用-nofork命令行选项,以增加内存大小。