linux - 内存溢出!在 Linux 中

标签 linux memory overflow

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

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

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字节?

打印输出是从系统中获取的?

关于linux - 内存溢出!在 Linux 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45291624/

相关文章:

linux终端执行echo函数

linux conda 安装 log4j-2.10.0 包问题

linux - 如何单行执行此 "expect"命令?

java - 如何判断其中一代堆是否已满?

java - Tomcat使用哪些内存类型,如何控制

html - 使用 SVG 禁用 div 的滚动

c - 为什么不打印我的 char 数组指针?

c# - C#中的VirtualAlloc分配大内存

c - 当任何两个数字之和超过最大值时,C 程序计算如何或以什么程序运行?

css - 使用 flexbox 设计表单样式——标签溢出嵌套的 flexbox div