腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
启动
时,
Linux
内核
如何
为自己的
内存
分配器
分配
内存
?
、
、
我开始编写一个非常简单的
内存
分配器
,我只是在页面结构上进行迭代,以找到一个空闲的页面,并在找到一个页面时中断循环。当我开始写
分配器
时,我偶然发现了一个问题。我到处读到,
Linux
内核为系统中的每个页面都保存了一个页面结构。我猜
Linux
内核的
内存
分配器
使用页面结构来确定哪些页
是
空闲的,哪些
是
不空闲的。如果我的假设
是
正确的,问题就出现在这里。如果
Linux
内核的
内存
分配程序依赖于页面
浏览 6
提问于2022-01-04
得票数 2
1
回答
memcached切片与
linux
内核片的关系是什么
、
、
、
在
linux
内核中,有一个用于高效
内存
管理的板片
分配器
。我知道在
linux
中有一个叫做“memcached”的程序,它支持MySQL、PHP或其他程序的
内存
缓存。而且它们似乎都在使用平板算法来进行有效的
内存
管理。提前谢谢你。
浏览 3
提问于2012-08-16
得票数 0
回答已采纳
1
回答
在x86系统中,
Linux
内核
如何
从8MB到1gb的虚拟
内存
地址?
、
、
、
我正在研究
如何
在
Linux
内核中启用分页,但我不明白内核
如何
能够寻址从8MB到1GB的虚拟
内存
。我的意思
是
,在
启动
阶段,内核有一个非常小的页面表编码到映像中。因此,内核总共只能处理8MB的虚拟
内存
。然后,内核必须安装页面表的第二级,以驱动其所有1GB的虚拟
内存
。为了解决这个问题,它必须依赖于一些允许检索缓冲区的
内存
分配器
,以便将第二级页面表的条目放在哪里:这是引导
分配器
。 因此,我的问题
是<
浏览 0
提问于2018-03-29
得票数 0
1
回答
在Redis 5(使用Jemalloc分配程序)中,是否存在活动碎片被禁用的情况?
Redis 4添加了活动
内存
碎片整理(来源:发布说明):上一次发布的亮点之一
是
Redis获得了在线时整理
内存
的能力。此特性对于分配程序无法保持碎片足够低的工
浏览 0
提问于2019-06-17
得票数 0
回答已采纳
1
回答
redis中的
内存
分配
浏览完Redis的一些代码后,我注意到"robj“的创建
是
通过调用"createObject”函数来完成的,该函数又调用"malloc“来分配
内存
。因此,只要有请求到来(例如,设置uid1234),就会有一个
内存
分配过程。 我的问题
是
,为什么不预先分配空间来降低
内存
分配成本呢?因为物体大小不同?
浏览 1
提问于2012-10-12
得票数 2
回答已采纳
1
回答
使用
内存
区作为堆栈空间?
、
、
、
、
在
Linux
中,是否可以
启动
一个进程(例如,使用execve)并使其使用特定的
内存
区域作为堆栈空间?我有一个C++程序和一个给我“快速
内存
”的快速
分配器
。我可以将它用于利用堆的对象,并在快速
内存
中创建它们。很好。但是我也有很多变量存在于堆栈中。我怎样才能让他们也使用快速
内存
呢?想法:实现一个“程序包装器”,它分配快速
内存
,然后
启动
实际的主程序,传递一个指向快速
内存
的指针,程序将其用作堆栈。这有可能吗? 更新
浏览 1
提问于2012-05-18
得票数 7
回答已采纳
1
回答
内核
内存
分配程序补丁
、
、
、
、
是否有任何用于
Linux
内核的修补程序可以使用不同的
内存
分配程序,如ned
分配器
或TLSF
分配器
?
浏览 0
提问于2010-09-05
得票数 4
回答已采纳
5
回答
从malloc()发出的Windows和
Linux
本机OS/系统调用是什么?
、
、
、
、
我最近看到了以下帖子:
分配器
只允许您指定不同的分配策略。例如,您可以使用一个
分配器
(只调用malloc一次)来检索一个大的
内存
池,然后对于后续的分配请求,它只返回这个池的一小块。或者,您可以使用它作为钩子,允许您在每次分配或释放
内存
时执行一些额外的任务。 至于你的第二个问题,malloc
是
最低的,你可以不失去可移植性。malloc通常是使用特定于操作系统的
内存</
浏览 8
提问于2013-08-03
得票数 12
回答已采纳
1
回答
用于用户进程的
Linux
内存
分配(伙伴
分配器
)
、
我正在研究
Linux
中的
内存
分配,我有一个关于好友
分配器
的问题。阅读kernel.org上可用的文档,我了解到伙伴
分配器
负责物理页面的分配(通过__alloc_pages()函数)。总之,我的问题
是
:如果用户的进程需要加载到物理
内存
中,那么需要使用伙伴
分配器
吗?
浏览 0
提问于2022-06-12
得票数 1
1
回答
为什么我们有一个慢的‘malloc`?
、
、
据我所知,自定义
内存
管理器在几个中型和大型项目中使用。security.se上的这篇讨论了这样一个事实:出于性能原因,OpenSSL中包含了一个自定义
内存
分配器
,最终导致心脏出血漏洞的利用变得更糟。这篇在这里讨论了
内存
分配器
,特别是一篇学术论文的答案链接,该论文表明,尽管由于malloc速度慢,人们出于性能原因编写自定义
内存
分配器
,但通用的最先进的
分配器
很容易击败它们,并且比开发人员在每个项目中重新发明轮子带来的问题更少作为一个不是专业编程的人,我很好
浏览 0
提问于2016-10-15
得票数 0
3
回答
C++
内存
分配器
体系结构
、
、
、
我需要在
Linux
下为C++编写存储
分配器
。虽然算法非常简单,但我不明白在哪里(以及
如何
)存储
分配器
数据(例如堆)。 这就是我的看法:分配程序不是一个进程,它是一组函数,任何应用程序都可以使用。:在什么情况下,应用程序何时
启动
?和
分配器
如何
发现堆已经创建?
如何
创建、存储和销毁(关闭应用程序时)堆?当函数被调用时,
如何
查找,
如何
查找它在哪个线程(或哪个处理器上运行)?
浏览 4
提问于2012-03-16
得票数 4
3
回答
找出
内存
消耗的位置
、
、
、
不幸的
是
,随着时间的推移,代码的
内存
消耗会增加,直到所有(共享)
内存
用完,然后崩溃。在算法上,代码不应该随着时间的推移而积累
内存
,所以在某个地方会有一个bug。我的想法
是
,共享指针可能会在无意中被创建在某个地方,从而防止不需要的数据在整个过程中被释放(但这只是一个猜测)。 归根结底,我已经没有办法去调试这样的东西了。有什么想法吗?
浏览 3
提问于2012-07-03
得票数 3
回答已采纳
1
回答
英特尔TBB
内存
分配器
的性能?
、
、
、
有一次,我在我所从事的项目中尝试了TBB
内存
分配器
(MMORPG集群,
Linux
2.6,最近的gcc,8核Intel Xeon),当收到的性能更差时,我感到惊讶。什么可能
是
一个原因?有没有人可以分享一下自己使用TBB的经验,特别是它的
内存
分配器
?为您的时间提供tnx
浏览 0
提问于2010-12-31
得票数 3
回答已采纳
2
回答
编译错误:内核模块
、
、
、
我
是
一个内核编程的新手&我希望运行这个内核模块(如下所示)…为此,我运行了makefile (如下所示),但我得到了以下错误:谁能帮助我理解
如何
克服这个问题:内核程序应该运行时没有错误,因为它取自make[1]: Entering directory `/usr/src/
linux
-headers1 make[1]: *
浏览 2
提问于2012-12-01
得票数 13
回答已采纳
1
回答
什么
是
shrink_slab,为什么它出现在/var/log/消息中?
、
、
我正在研究
Linux
系统上的一些应用程序问题,并注意到这是在最近出现的问题时发现的,但还不够接近,无法确定地关联: Jun 7 17:51:49 localhost kernel: shrink_slab编辑:我认为这是因为它可以释放的页数("nr")
是
负数。这大概
是
件坏事。我找到了更新内核的补丁,这些补丁显示了一条更有用的信息。仍然不确定这意味着什么,或者我需要做些什么。
浏览 0
提问于2012-06-08
得票数 3
回答已采纳
1
回答
启动
过程中initramfs gzip‘’ed cpio归档的寻址方案
、
、
本节
是
gzip‘’ed的,包含有1805个文件和目录的cpio存档。是什么决定了提取cpio存档内容的
内存
地址? 提取后,内核
如何
找到特定文件( ...such作为/sbin/init文件)的数据的
内存
地址?是否将cpio存档的内容提取到某种允许内核稍后查找这些文件的文件系统中,...or
是
内核代码中硬编码的这些文
浏览 0
提问于2018-07-12
得票数 1
回答已采纳
1
回答
自定义
分配器
如何
知道可以分配的
内存
地址?
、
我在看铁锈的
分配器
特征。根据我的理解,您给
分配器
一个
内存
长度和一个可对齐的字大小,而
分配器
要么给出一个指向
内存
的指针,要么给出一个错误。因此很明显,自定义
分配器
是
在
内存
中找到有效地址。
分配器
如何
知道它可以在堆中分配什么?是否有一些“创世纪”
分配器
告诉自定义
分配器
它可以采取的地址?
浏览 0
提问于2021-05-08
得票数 0
回答已采纳
2
回答
记忆去哪了?
、
、
、
我怀疑sizeof(Node)没有反映正确的
内存
使用情况。 我在Windows和
linux
上都进行了测试。最后的结论
是
,Node * p = new Node;将分配一个大于sizeof(Node)的
内存
,其中Node
是
一个类。
浏览 1
提问于2019-12-11
得票数 0
回答已采纳
2
回答
如何
为嵌套容器分配
内存
?
、
、
例如,我有std::vector<std::string>,vector和string的
分配器
是
如何
一起工作的?假设vector的
分配器
分配一个
内存
块( ChunkVec ),string的
分配器
是否在ChunkVec中分配
内存
,以便为每个string分配的
内存
总和为ChunkVec?还是string的
分配器
将
内存
分配到ChunkVec之外?C++和C++11之间有什么
浏览 3
提问于2015-09-09
得票数 1
回答已采纳
2
回答
不适当的退出会破坏C++
内存
分配器
吗?
、
、
、
、
众所周知,抛出std::bad_malloc的常见原因
是
内存
耗尽。当裸机应用程序
启动
浏览 2
提问于2015-04-16
得票数 2
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 内核将弃用并删除 SLOB 内存分配器
一篇读懂Linux 是如何管理内存的
如何在 Linux 启动时自动启动 LXD 容器
Linux下如何解决高内存使用率问题?
如何在Mac上安装和双启动Linux
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券