内存溢出!在Linux中
问题描述:
我的嵌入式系统运行Linux 3.10.14。内存溢出!在Linux中
运行时,我的应用程序打印出此消息。
ERR: Memory overflow! free bytes=56000, bytes used=4040000, bytes to allocate=84000
但是当我做“自由”时,似乎我有足够的空闲内存。
/ # 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字节?
打印输出从系统中得到了什么?
内核会保留一些内存为它的用途。如果内核不能分配任何内存,系统将会出现恐慌,因此它必须具有可用空间。您可以调整我不熟悉的数量。 – Robo