内存溢出!在 Linux

Memory overflow! in Linux

我的嵌入式系统运行 Linux 3.10.14.

当 运行 时,我的应用程序打印出这条消息。

ERR: Memory overflow! free bytes=56000, bytes used=4040000, bytes to allocate=84000

但是当我这样做时"free",似乎我有足够的空闲内存。

/ # free
             total  used  free  shared buffers
Mem:         27652  20788 6864 0            0
-/+ buffers:        20788 6864
Swap:            0            0            0

错误消息的任何可能根本原因? 或者我怎样才能使用空闲内存到最后 1 个字节?

如果我遗漏任何信息,请发表评论。 谢谢!

根据"free"的输出,我们可以看到总共有27652字节,使用了20788字节,空闲了6864字节。

从你的应用程序中打印出来,似乎试图分配 84000 字节,但只有 56000 字节可用。

所以有一个问题,你的系统有多少内存? 27652 字节或 4096000字节?

打印是从系统获取的?