我在 Azure 上有一个 Ubuntu VM 实例。代码或执行的活动均未出现任何异常,但服务器冻结,当我尝试运行任何命令时,它会弹出-bash: fork: Cannot allocate memory
。
我有一个 python 服务器,同时运行 mongodb 和 mysql。我看不出有任何理由进行这样的磁盘访问。此外,也没有显著的 CPU 或网络 IO 负载。
有人遇到过这种情况吗?直到今天,我还没有在我的测试环境中或近 14 天的生产中看到过这种行为。
答案1
这是一个复杂的问题。
Cannot allocate memory
当您没有足够的虚拟内存来分配内存用于进程启动、分叉或运行新线程时,会显示错误。对于磁盘 IO,它可能是 cron 中的一些每月活动,您可以检查文件和/etc/crontab
文件夹中的活动。/etc/cron.d
/etc/cron.monthly
要了解系统情况,您可以安装atop
它并将其作为服务启动,它将保存系统统计信息,您可以在问题发生后检查系统状态。