我正在使用Amazon AWS Service中的ec2实例构建Asterisk服务器。 现在我有以下问题。
我要说的是,这只是偶尔发生,并非总是如此!
当我通过Amazon Cli AMI创建实例时,它在大多数情况下都适用,但是有时会出现错误“非法指令”。
# asterisk -cvvvvvvvvvvvvr
Illegal Instruction
发生这种情况时,诸如Asterisk之类的程序将无法运行。 我尝试重新启动进程,但是错误消息“ Illegal Instruction”却不断出现。
如何避免这种情况? 这是更多人使用Amazon Cli AMI的错误吗? 任何建议将不胜感激。
谢谢
答案 0 :(得分:2)
诸如“非法指令”之类的消息通常表明应用程序正在试图告诉CPU做它不能做的事情。
通常是运行为实际使用的其他处理器变体编译的二进制文件的结果。
答案 1 :(得分:0)
构建ec2时,应通过make menuconfig禁用SSE和其他优化功能
不幸的是,大多数由“专家”创建的图像对星号和linux不太了解。
最佳解决方案-设置简单的bash脚本,该脚本在每次实例启动时下载并构建星号。这样,您就可以进行所有优化,并且实例cpu没问题。
如果您在短时隙中使用星号-解决方案将通过关闭优化功能对其进行重建。在这种情况下,最好使用64位实例。
答案 2 :(得分:0)
帮助有相同错误的人。 通过在菜单选择中的 build_native 选项关闭的情况下通过重建星号修复了该错误。
这每次都会修复错误。 已经测试了多次!