Boolean Asked: 2010-03-10 15:08:25 +0800 CST2010-03-10 15:08:25 +0800 CST 2010-03-10 15:08:25 +0800 CST 服务器挂起的原因? 772 我请求了一个 Amazon EC2 实例,但有时它会挂起。服务器挂起的可能原因是什么?有什么可以在挂起之前完成或检测的吗?是否有任何好的开源监控工具可以检测到这一点并采取预防措施。 系统管理员如何处理这个问题? 谢谢巴拉 linux amazon-ec2 2 个回答 Voted Ernest Mueller 2010-03-10T16:06:25+08:002010-03-10T16:06:25+08:00 您的意思是它应请求挂起,而不是稍后? 有两种选择。一个是亚马逊的调用失败了——我看到统计数据声称大约 2% 的亚马逊 API 请求“没有充分的理由”失败,你应该总是编写一个失败重试的东西。 另一个是当您的实例启动时您正在做一些聪明的事情,这导致实际的 linux 操作系统在其启动周期中挂起。就像添加了一个初始化脚本来插入一些动态 DNS 或诸如此类的东西,或者任何其他依赖于导致它崩溃的外部依赖项的东西。我会在启动过程的后期移动任何自定义的东西,也许会得到一些远程系统日志,看看操作系统级别是否真的出了问题。 然而,我倾向于把钱放在前者上。 gareth_bowles 2010-03-10T17:28:26+08:002010-03-10T17:28:26+08:00 按照 Ernest 的回答,您通常可以通过检查实例启动的控制台输出来了解正在发生的事情。如果您通过 AWS 管理控制台启动实例,或者使用EC2 命令行工具中的ec2-get-console-output命令启动实例,则此链接可用作链接。
您的意思是它应请求挂起,而不是稍后?
有两种选择。一个是亚马逊的调用失败了——我看到统计数据声称大约 2% 的亚马逊 API 请求“没有充分的理由”失败,你应该总是编写一个失败重试的东西。
另一个是当您的实例启动时您正在做一些聪明的事情,这导致实际的 linux 操作系统在其启动周期中挂起。就像添加了一个初始化脚本来插入一些动态 DNS 或诸如此类的东西,或者任何其他依赖于导致它崩溃的外部依赖项的东西。我会在启动过程的后期移动任何自定义的东西,也许会得到一些远程系统日志,看看操作系统级别是否真的出了问题。
然而,我倾向于把钱放在前者上。
按照 Ernest 的回答,您通常可以通过检查实例启动的控制台输出来了解正在发生的事情。如果您通过 AWS 管理控制台启动实例,或者使用EC2 命令行工具中的ec2-get-console-output命令启动实例,则此链接可用作链接。