我创build了一个运行Amazon AMI的Amazon EC2微型实例。 我使用SSH客户端login到服务器。 一旦login成功,如果我发出“顶部”命令,顶部输出永远不会显示,命令永远不会返回。 它不断等待。 我必须杀死SSH会话并重新login。 当然,没有其他的东西,如java,tomcat等,正在工作。
我重新启动服务器,同样的问题仍然存在。 我终于把实例改为“小”实例,即使在那里我也面临同样的问题。
在一天中的某些时候,似乎没有上述问题就能正常工作。
任何人有什么想法,为什么发生这种情况? 这是关系到CPU窃取或颠簸?
已解决:“为了避免MTU设置和数据包丢失的潜在问题,还要添加一条规则以允许”所有ICMP“。创build新规则后,单击”应用规则更改“。 从此链接获得解决scheme – http://code.google.com/p/opendatakit/wiki/AggregateAWSInstall
我怀疑MTU问题,每当我得到一个可疑的networking这样挂。 尝试捕获一个大的文本文件(超过4k的东西),看看是否也挂起了会议。 如果是这样的话,几乎可以肯定的是,在path上有一个小的MTU会导致你的问题(特别是因为它是时间依赖的,也许你的stream量在一天的不同时间采取不同的路线)。 谷歌周围(或者提出一个新的问题)来解决如何解决MTU问题(我不会花费很长的时间在这里写下所有的错误)。
不,但是您可以轻松获得有关挂起过程的一些debugging信息。
大概你可以login到另一个SSH会话,(或者如果不确定你有2个会话已经打开)
所以基本上如果我开始像这样长时间运行的过程
sleep 1000
我可以从另一个terminal会话中find它,
# ps -ef | grep sleep | grep -v grep root 11768 11287 0 10:36 pts/19 00:00:00 sleep 1000
我可以使用strace工具(从yum / apt repo中的strace包)检查正在执行的系统调用,
# strace -f -p 11768 Process 11768 attached - interrupt to quit restart_syscall(<... resuming interrupted call ...>^C <unfinished ...> Process 11768 detached