我遵循了关于如何将MongoDB安装到Debian 11的描述,在各个地方都可以找到。因为所有的描述都是一样的,所以我选了其中一个。每个输入都按预期工作。甚至尝试启动服务。
sudo系统启动单神
不会产生任何错误。当我检查状态时
sudo systemctl状态单神
我收到:
mongod.service - MongoDB数据库服务器加载: loaded (/lib/systemd/system/mongod.service;启用;供应商预置:已启用) Active: failed (结果: signal),自Sat 2022-04-30 19:31:40 CEST;3s MongoDB Docs:https://docs.mongodb.org/manual Process: 506851 ExecStart=/usr/bin/mongod.conf /etc/mongod.conf (code=killed,signal=ILL)主PID: 506851 (code=killed,signal=ILL) CPU: 12 3s
如果我试着打电话给芒戈,我会收到德语的留言:
"Ungültiger Maschinenbefehl“
我卸载了几次,但结果总是一样的。有人知道吗?
发布于 2022-05-02 08:37:12
"Ungültiger Maschinenbefehl“
这看起来非常像一个“非法指令”(这也是(code=killed, signal=ILL)打印出的systemd所暗示的):根据man 7 signal,SIGILL的意思确实是illegal instruction。
当二进制的机器代码包含CPU不理解的指令时,就会发生“非法指令”。
现在,有几种安全措施可以防止您运行完全不兼容的二进制文件(例如,尝试在amd64上运行RaspberryPi二进制文件),但是即使对于给定的体系结构(例如amd64),也有许多不同(附加)指令集的CPU变体。
因此,在您的例子中,最有可能的是MongoDB是为最新和最伟大的CPU (或您的体系结构)编译的,使用了所有优秀的SIMD和其他可用的加速。不幸的是,您的CPU似乎老了(不支持这些漂亮的和诸如此类的指令),并且一旦执行到达这样的指令,程序就会终止。
现在,正式的Debian包需要花费很大的时间来支持最小的基线CPU,它的指令集几乎可以在给定体系结构的所有CPU上使用(缺点是它不是最优化的CPU)。但是,您使用的包是由某个第三方编写的,他们似乎不关心与旧CPU的兼容性(或者他们只是不知道这个问题)。
如何解决这个问题:
itself)
这样的基线CPU)。
发布于 2022-05-06 20:13:12
我问了NetCup,我的Provider提供商.该系统支持模具AVX指令集。因此,无法安装MongoDB 5.0,这是导致指令错误的原因。我不得不安装MongoDB 4.4。确实起作用了。
https://stackoverflow.com/questions/72070801
复制相似问题