尽管有足够的空间,但仍出现内存错误(Ubuntu VPS)

尽管有足够的空间,但仍出现内存错误(Ubuntu VPS)

我收到了来自 python 和 php 的各种与内存相关的错误,以及分段错误 - 然而输出free -m不断显示有足够的​​空闲内存 - 即

greg@greg-brown:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          1024        520        503          0          0        163
-/+ buffers/cache:        356        667
Swap:          512          0        512

这是否意味着存在硬件问题?我该如何调试它?

答案1

如果您尝试分配大于单个连续块可用内存的单个块,则可能会出现内存不足错误,即使许多较小的块中有足够的内存可用。这种情况尤其发生在 32 位系统上,当虚拟地址空间变得碎片化时,这种情况会变得越来越有可能,随着使用量接近 2GB 并且使用时间越长,这种情况就越有可能出现。请 Google 搜索“内存碎片化”以了解更多信息。

相关内容