我遇到了码头间歇性撞击的问题,我正在使用Jetty 6.1.24.
我正在运行一个neo4j Spring MVC webapp,Jetty将保持运行大约1小时,然后我必须重新启动Jetty.它运行在小型amazon ec2实例上,debian具有1.7GB的RAM.
我开始使用Jetty java -Xmx900m -server -jar start.jar
我使用putty连接到服务器,当Jetty崩溃putty会话断开连接时,我看不出是什么错误导致它崩溃.
我希望能够看到它是否是Spring生成的错误,我不知道如何使用Jetty从spring应用程序记录输出.或者如果它是Jetty或内存问题,那么监控Jetty的最佳方法是什么?我无法在运行Windows的本地计算机上重新创建此项.您认为最好的方法是什么?谢谢
这不是一个程序员问题; 也许它会转移到ServerFault.
您没有明确说明您正在使用哪种操作系统,但我对某些Linux发行版有所猜测.你有两种方法可以搞清楚是什么问题:
在屏幕上开始您的会话. 只要实际机器开机,屏幕就会一直运行,直到您重新启动操作系统(或退出屏幕).
你像这样开始屏幕
screen
然后你会得到一个新的提示,你可以在那里开始你的程序(cd foo,jetty等).如果你很开心并且你只需要去某个地方,你可以通过按CTRL + A然后按CTRL + D来断开屏幕.在你调用之前,你会回到你所在的地方screen
.
返回查看screen
您键入的内容screen -R
,表示恢复现有屏幕.你应该再看看码头.
好的一点是,如果你失去连接(或者你意外或者其他什么关闭腻子)那么你可以screen -list
用来获取正在运行的屏幕列表,然后强行分离它们-D
并将它们重新连接到当前的腻子-R
,没有伤害!
使用nohup.Nohup或多或少地分离了你从控制台运行的进程,所以它的输出都没有到达终端.您以正常方式启动程序,但是将该单词添加nohup
到命令中.
例如:
nohup ls -l &
后ls -l
完成后,你的输出存储在的nohup.out.