腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
嵌入式
Linux
:
内存
碎片
memory-management
、
embedded-linux
、
fragmentation
在许多嵌入式系统中,
内存
碎片
是一个令人担忧的问题。特别是对于长时间运行的软件(几个月,几年,等等)。对于许多项目,解决方案是简单地不使用动态
内存
分配,如malloc/free和new/delete。只要有可能,就使用全局
内存
,频繁分配和释放的类型的
内存
池
是避免动态
内存
管理使用的好策略。 在嵌入式
Linux
中,如何解决这个问题?我看到很多库都使用动态
内存
。操作系统是否有防止
内存
碎片
浏览 1
提问于2011-01-17
得票数 2
回答已采纳
6
回答
posix_memalign/memalign做了什么
c
、
memory
、
memory-pool
我试图理解
linux
内存
是如何工作的,我需要编写我自己的简单
内存
池
(低
碎片
堆)。
浏览 6
提问于2011-07-03
得票数 56
回答已采纳
2
回答
内存
池
与malloc
operating-system
、
real-time
、
rtos
原因是:对于性能问题,我们不应该使用malloc,因为通过malloc分配
内存
很耗时,而且跟踪分配的
内存
的开销也更高。 现在在实时系统中,所有进程都有时间限制,我们通常不使用malloc。我产生了好奇心,并开始研究一些类似于RTOS在运行时如何实际分配
内存
的问题,我找到了
内存
池
。现在写到
内存
池
实际上意味着固定大小的块allocation.Now
内存
池
的优点是它不会受到
碎片
的影响。假设我们有3个4字节的
池</e
浏览 0
提问于2012-09-22
得票数 3
5
回答
关于
内存
池
的问题
c++
、
memory-management
、
fragmentation
、
memory-pool
我需要一些关于
内存
池
的概念和实现的澄清。 也称为固定大小块分配,.由于这些实现由于变块大小而受到
碎片
影响,因此由于性能的原因,无法在实时系统中使用它们。“可变块大小导致
碎片
”是如何发生的?如何固定大小的分配可以解决这一问题?这个维基描述听起来有点误导我。我认为,固定大小的分配或可变大小不会避免
碎片
。在
内存
池上下文中,为特定应用程序设计的特定
内存
分配器避免了
碎片
,或者通过限制地使用预定的
内存
块来减少
碎片
浏览 9
提问于2011-07-19
得票数 8
回答已采纳
1
回答
DPDK 20.11 - IPv4
碎片
-间接
池
耗尽
c
、
dpdk
我试图使用以下逻辑将IPv4数据包
碎片
化:后,
内存
池
大小d 2045013在0。 在编写
内存<
浏览 1
提问于2021-07-13
得票数 0
回答已采纳
1
回答
关于C++
内存
池
的探讨
c++
、
memory
、
pool
、
dynamic-allocation
是否可以创建一个遵循以下简单逻辑的
内存
池
实现:2-使用修改后的new();不分配
内存
的函数/运算符仅获得指向
内存
池
开头的指针。3-当
内存
池
耗尽时,它重新分配剩余的
内存
池
,并分配一个新的
内存
池
4-在第一个
内存
池中创建的对象将根据其大小占用
内存
。在第一个池中分配的内容与当它耗尽时返回的内容之间
浏览 0
提问于2012-01-16
得票数 1
回答已采纳
4
回答
Linux
内存
碎片
linux
、
linux-kernel
、
fragmentation
是否有一种检测
Linux
上
内存
碎片
的方法?这是因为在一些长期运行的服务器上,我注意到性能下降,只有在重新启动进程之后,我才看到了更好的性能。我在使用
Linux
大页面支持时更注意到了这一点--
Linux
中的巨型页面更容易被分割吗? 我特别看过/proc/buddyinfo。
浏览 0
提问于2010-04-16
得票数 23
1
回答
是否有可能解决数据自动化系统
内存
碎片
问题?
c++
、
linux
、
memory-management
、
cuda
、
memory-fragmentation
我试图分配一些
内存
,但有时会出现“
内存
不足”错误。cudaMemGetInfo说我需要更多的可用
内存
。所以,
内存
碎片
的问题。有可能解决这个问题吗?
浏览 1
提问于2012-10-12
得票数 6
3
回答
避免
内存
碎片
的方法
c++
、
memory-management
、
rtos
、
memory-fragmentation
我从RTOS分配了一个很大的
内存
池
(我已经知道我的应用程序的
内存
需求,它不会超过一定的大小)。然后,我的应用程序分配请求将从该池中得到满足。最近我开始面临一个问题:即使
内存
在那里,分配请求也没有得到满足(获得了集成的
内存
基准测试框架,它显示了这一点),调查显示我们正在遭受
内存
碎片
。我的应用程序严重依赖STL (还从网络接收数据,XML解析,图像处理,将其保存为PNG等),以及
内存
碎片
背后的堆
内存
分配(还有其他原因吗?
浏览 4
提问于2013-04-06
得票数 2
1
回答
内存
管理器的数据结构
c
、
algorithm
、
memory-management
、
data-structures
我分配了一大块动态
内存
,并将其分成不同大小的
内存
池
。大小从8到256是8的倍数。当
内存
请求出现时,取决于大小,我从其中一个
池
分配一个
内存
块。我维护一个哈希表来映射所需的大小和
内存
池
。我不想将记账信息保存在分配的
内存
中,所以我使用每个
池
的一个单独链接列表来跟踪空闲块。我的问题是:由于
内存
池中所有块的块大小都是一致的,所以我决定不对这些块进行排序。也就是说,当一个
内存
请求出现时,我将在
浏览 1
提问于2013-04-02
得票数 1
1
回答
μmμC/OS-Ⅲ实时操作系统中的分配与免费
c
、
memory-management
、
rtos
、
micrium
、
ucos
这个函数分配RTOS的一些
内存
“堆”。问题是它没有空闲函数,可能是因为所有东西都进入了堆
池
。有人知道我们怎么解决这个问题吗? 提前感谢
浏览 7
提问于2012-05-23
得票数 2
1
回答
虚拟
内存
映射
碎片
是否会导致性能问题?
c
、
linux
、
memory-management
、
linux-kernel
、
virtual-memory
我有一个应用程序,首先使用
linux
mmap系统调用创建大型匿名映射(大小为4MB)。然后,在进程执行期间,为了尽快释放
内存
,我考虑取消对较小
内存
块的映射,以便最初是一个大块的虚拟
内存
映射将导致
碎片
化。这是否会导致虚拟
内存
转换表
碎片
导致性能问题,或者内核是否使用智能策略来避免这种情况?我可以不介意虚拟
内存
映射的
碎片
化吗?
浏览 0
提问于2019-01-24
得票数 1
回答已采纳
1
回答
为什么std::map< std::map >不释放
内存
?
c++
、
c++11
、
memory-management
在下面的测试程序中,std::map分配的
内存
没有被释放。总而言之,我们分配了大约2.2 GB的
内存
,这些
内存
永远不会被释放,尽管我们用一个空容器进行了交换。当将std::map< std::map >更改为std::map< std::vector >时,实际上释放了
内存
。 我已经用valgrind检查了代码,它显然没有发现任何泄漏。
浏览 1
提问于2016-06-02
得票数 10
1
回答
如何避免bad_alloc?
c++
如何避免下面代码中的bad_alloc错误。它说C叫做abort函数: what(): std::bad_alloc#include<math.h>using namespace std;{ double l,t; {
浏览 3
提问于2012-12-12
得票数 2
1
回答
内存
池
:强制分配资源(地图/向量)以重新分配以保持连续性
c++
、
memory-pool
、
defragmentation
、
memory-reallocation
我有一个固定大小的
内存
池
。自定义分配器用于将std::into和std::unordered_map元素放入该池中。随着时间的推移,
内存
池
会变得支离破碎,即使如果将所有空闲部分一起丢弃,也可能会有足够的
内存
可用,但它可能不能像std::vector所要求的那样作为一个连续块访问。问:我如何整理这个
池
(通过移动桶和向量数组)并更新std::std::unordered_map保存的所有指针以反映新的连续
内存
位置?有可能吗?另一个问题是:这是否明智?
浏览 3
提问于2022-08-04
得票数 0
3
回答
“
内存
缓存”和“
内存
池
”的区别
linux
、
unix
、
memory-management
、
memory-pool
、
memorycache
通过阅读“理解
linux
网络内部结构”和“理解
linux
内核”这两本书以及其他参考资料,我对“
内存
缓存”和技术感到相当困惑,需要一些澄清。 1)它们是相同的技术还是不同的技术?
浏览 9
提问于2011-09-23
得票数 4
3
回答
System.Runtime.InteropServices.COMException (0x80070008):没有足够的存储空间来处理此命令
.net
、
oracle
、
oracle10g
该应用程序使用约400 GB的
内存
,70个线程,2000手柄和硬盘驱动器有许多GB空闲。该机器运行Windows 2003 Enterprise 32位,
内存
为16 be,因此
内存
不应成为问题。
浏览 4
提问于2010-03-12
得票数 8
4
回答
什么决定堆
内存
的分配位置?
c++
、
memory
、
memory-management
、
heap-memory
、
memory-fragmentation
我理解堆栈是什么,以及何时在堆栈和堆上分配
内存
。在选择堆
内存
的存储位置时,控制了什么?还有:“将
内存
返回到操作系统”这个术语是我经常遇到的一个术语。这是否意味着堆在所有进程之间共享? 我之所以关心这一切,是因为我想了解更多关于
内存
碎片
的知识。我想,在我学习如何处理
内存
碎片
之前,先知道堆是如何工作的是个好主
浏览 4
提问于2020-07-18
得票数 2
回答已采纳
1
回答
为什么Android在加载映像时分配的
内存
比需要的要多
android
、
memory-management
、
heap-dump
OP通常捕捉到一些下注,然后被有关使用较少
内存
的股票答案和评论所轰炸(谢谢罗曼!)在缩放方面。我认为这里有很多值得关注的地方。 有人知道这是为什么吗?我假设JPEG与PNG等无关,因为我们讨论的是支持位图的
内存
使用情况,它仅仅是BPP的x倍,还是说我慢了?
浏览 0
提问于2012-11-10
得票数 11
3
回答
缩小iPhone
内存
?
iphone
、
memory
、
didreceivememorywarning
我的应用程序可以访问的
内存
池
似乎随着时间的推移而缩小。任何关于这个问题的解释或帮助都是很棒的。谢谢。
浏览 0
提问于2010-01-26
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
图解|Linux内存碎片整理
避免物理内存碎片化
Netty源码解析 -- 内存池与PoolArena
Linux内存映射mmap原理分析
解读 Linux 内存管理新特性 Memory folios
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券