腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
在调用malloc之后
brk
指针是如何增长的
、
、
我是
Linux
和C的新手,我只想问一下,在调用malloc之后,
brk
指针是如何增长的。我们知道内核维护一个指向堆顶部的
brk
指针。假设当我们调用malloc来分配请求的内存时,没有可用的空闲块,而且我们知道malloc在内部调用
mmap
。以下是我的问题://not 100% correct onlyfor demo purpose
m
浏览 0
提问于2020-09-23
得票数 1
回答已采纳
6
回答
为什么malloc()可以互换地调用
mmap
()和
brk
()?
、
、
、
、
我跟踪了
Linux
调用,发现如果我使用malloc请求少量堆内存,那么malloc就会在内部调用
brk
。 但是,如果我使用malloc请求大量堆内存,那么malloc就会在内部调用
mmap
。因此,
brk
和
mmap
之间肯定有很大的区别,但理论上,无论请求的大小如何,我们都应该能够使用
brk
来分配堆内存。那么,为什么malloc在分配大量内存时调用
mmap
呢?
浏览 7
提问于2020-09-23
得票数 17
回答已采纳
1
回答
内核源--其中定义了
brk
()文件
、
、
我想知道在内核源代码版本>= 2.6中,
brk
是在哪里定义的。这就是哪个c文件包含了它的定义?grep没有透露太多信息。另外,sbrk也是在glibc中实现的,对吗?
浏览 7
提问于2012-04-25
得票数 0
回答已采纳
2
回答
unix中的sbrk系统调用
、
、
、
现在有一天,malloc使用
mmap
2系统调用分配内存。那么,是否有使用sbrk系统调用的命令(ls、cat、grep、sed)。0.000000 0 9 8 access -nan 0.000000 0 28
mmap
浏览 3
提问于2015-07-07
得票数 0
回答已采纳
1
回答
ASLR模式2的重要性
、
据我所知,ASLR有三种模式:1-随机化堆栈、堆、共享库、vDSO、
mmap
内存区域和文本区域(如果使用-fPIE -pie构建) 2-此外,随机化的
brk
()-allocated内存,据我所知为什么有一个额外的模式,特别是对于
brk
()-allocated内存(如果这是它所做的一切),它有多重要,或者更确切地说,什么时候使用模式2而不是模式1很重要?
浏览 0
提问于2020-04-08
得票数 9
回答已采纳
1
回答
nodejs zlib中的内存泄漏
、
并且
brk
函数在
Linux
中被调用超过10000次(strace -cfe
mmap
,munmap,mprotect,
brk
-p {-p Id} )。并且
brk
函数在
Linux
中出现的次数要少得多。 在nodejs中,同样的数字被称为5000,但为什么在
Linux
中
brk
函数的调用次数会有所不同?我猜这就像在
Linux
中重用内存空间一样。这是正确的吗?如果没有,确切的原因是什么?
浏览 36
提问于2020-05-18
得票数 0
1
回答
linux
内存管理-如何获得“随机xxx偏移量”?
、
、
我引用了以下在
linux
中,start_data、end_data、start_
brk
、
brk
等是struct mm_struct的成员变量。然而,我想知道如何计算随机
brk
,堆栈,
mmap
偏移量.是否有任何函数或宏来计算这些值?我使用的是
linux
内核版本4.4和x86-64体系结构。 谢谢。
浏览 5
提问于2016-12-10
得票数 3
回答已采纳
2
回答
最小化C程序中的内存占用
、
、
、
、
在
Linux
(*nix)上的C程序中,有哪些最小化内存占用的选项?那么,我有什么选择呢?谢谢。
浏览 1
提问于2010-11-27
得票数 9
回答已采纳
2
回答
brk
和sbrk的区别
、
我是个新手,有人能用一个简单的例子说出
brk
和sbrk之间的确切区别吗?是否有效率因素可供选择?malloc和new在内部调用
brk
或sbrk。
浏览 1
提问于2016-05-21
得票数 6
2
回答
使用
mmap
的Emacs缓冲区分配
、
、
、
、
为什么默认情况下,在cygwin、freebsd和irix6-5上激活
mmap
缓冲区分配,而在
linux
上却不激活?参见USE_
MMAP
_FOR_BUFFERS in emacs/src/config.h。use_
mmap
_for_buffers in emacs/configure.in.基于
mmap
的access 难道不是比普通缓冲区分配优越的吗?
浏览 3
提问于2011-06-13
得票数 9
回答已采纳
1
回答
如何检测出内存段故障?
、
、
、
如何检测出一段故障是否是由内存不足引起的?该应用程序(Gazebo)简单地崩溃了一个分段错误,以及一个堆栈跟踪,似乎没有提供多少提示,以说明原因。(顶部没有显示崩溃前过多的内存使用量)
浏览 4
提问于2011-05-25
得票数 2
回答已采纳
2
回答
如何对syscall
brk
进行二进制测试?(x86-64
Linux
) (也许是val差生?)
、
、
、
、
(你可以这样想,就像用固定数量的可用内存制作一种沙箱) 程序二进制-在这种情况下,我们需要给程序固定数量的内存(我最感兴趣的是
Linux
,以及可靠的解决方案,这样即使在汇编程序中,准备二进制文件的人也不必担心代码的执行)
浏览 1
提问于2011-11-01
得票数 0
1
回答
从
Linux
内核模块中识别glibc
mmap
区域(VMA)
、
、
、
我理解当分配大于
MMAP
_THRESHOLD字节的内存块时,glibc ()实现使用
mmap
将内存分配为私有匿名映射,并且这个
mmap
分配区域不会作为
linux
中的堆的一部分。那么,是否有任何方法可以从
linux
内核模块中识别所有glibc区域。例子:00013000-00085000 rw-p 00000000 00:00 0区域,那么从<em
浏览 1
提问于2012-10-08
得票数 0
2
回答
在glibc中中止,同时尝试使用sbrk来缩小数据段的大小。
、
、
、
、
ptr (nil)heap 0 bytes
brk
(0) 0xf46000
mmap
0 bytes ptr 0xf46000
brk
(0) 0xf2d960 heap 135168 byt
浏览 12
提问于2022-01-09
得票数 -1
回答已采纳
1
回答
mmap
与sbrk,性能比较
、
、
、
、
我听说过
mmap
对于较小的分配速度更快,但我还没有听说过两者的比较。任何关于这些性能的信息都会很好。
浏览 0
提问于2011-04-02
得票数 5
回答已采纳
3
回答
中断可以像这样编程吗?
、
、
、
我正试图在
Linux
中做到这一点。
浏览 0
提问于2011-04-28
得票数 2
2
回答
malloc会不会转到最近的页面大小?
、
、
、
因此,我知道
mmap
和
brk
是如何工作的,并且不管输入的长度如何,它都会将其舍入到最近的页面边界。我也知道malloc使用
brk
/sbrk或
mmap
(至少在
Linux
/Unix系统上是这样),但这就提出了一个问题:malloc是否也会聚集到最近的页面大小?
浏览 4
提问于2021-01-28
得票数 2
回答已采纳
1
回答
当调用malloc时,vm_area_struct会改变吗?
、
我读了一本关于
Linux
虚拟内存领域的教科书我们可以看到,vm_area_struct与虚拟内存中的某个区域相关,vm_start和vm_end指向该区域的开始和结束。我们知道内核维护一个指向堆顶部的
brk
指针。所以我的问题是,假设当我们调用malloc来分配请求的内存时,没有可用的空闲块,那么在本例中,malloc内部调用
mmap
或sbrk来获取请求的内存,因此
brk
指针将增加/增长,那么堆的vm_area_struct是否也会发生变化,例如vm_end将被递增以指向最新的
brk
?
浏览 0
提问于2020-09-23
得票数 0
回答已采纳
1
回答
在不同线程上的动态分配会减慢我的主处理线程的速度吗?
、
、
、
我有一个在紧凑循环中处理数据的关键线程。它是受亲和力限制的,旨在进行高性能处理。它不做动态分配。执行动态分配的另一个线程是否会影响我的关键线程?
浏览 3
提问于2014-06-21
得票数 1
1
回答
为什么Firefox在
Linux
上有一个空的堆?malloc在内存中的位置是什么?
、
、
mm_struct的start_
brk
和
brk
字段对于火狐有相同的值,这意味着堆在火狐中是空的。有人知道吗:为什么Firefox在
Linux
上有一个空堆?malloc在内存中的位置是什么?
浏览 4
提问于2012-04-22
得票数 1
回答已采纳
点击加载更多
相关
资讯
Linux内存映射mmap原理分析
进程如何使用内存 学习笔记
10 个鲜为人知的 Linux 命令
DIY编程实现自己的内存分配器
MemoryFile 共享内存原理分析
热门
标签
更多标签
云服务器
ICP备案
即时通信 IM
云直播
实时音视频
活动推荐
运营活动
广告
关闭
领券