腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何
像
malloc
一样
使用
mmap
?
c
、
mmap
size 4==3806== Address 0xffffffffffffffff is not stack'd,
malloc
'd> int num;}list; { list *nodes =
mmap
浏览 14
提问于2020-08-27
得票数 0
回答已采纳
2
回答
使用
MALLOC
_
MMAP
_THRESHOLD_和
MALLOC
_
MMAP
_MAX_减少内存碎片
python
、
malloc
、
mmap
我一直在尝试
使用
MALLOC
_
MMAP
_THRESHOLD_和
MALLOC
_
MMAP
_MAX_环境变量来影响一个长期运行的Python2进程中的内存管理。请参阅我得到的结果是令人鼓舞的:内存碎片减少了,长时间运行的进程
使用
的内存中典型的高水位标记更低了。我唯一担心的是,当
使用
如此低级别的调整时,是否有其他副作用可能会产生反作用。有没有人有
使用
它们的经验?下面是一个示例脚本,它在一个生成大型字典的脚本中展示了这些
浏览 3
提问于2016-02-27
得票数 15
1
回答
如何
在多线程中关闭
malloc
()的
mmap
使用
?
c++
、
c
、
multithreading
、
malloc
、
mmap
在多线程程序中,
malloc
()似乎更喜欢
使用
mmap
()来分配空间。我刚刚尝试设置M_TRIM_THRESHOLD和M_
MMAP
_MAX来关闭
mmap
使用
,但失败了:mallopt(M_TRIM_THRESHOLD, -1); mallopt(M_
MMAP
_MAX, 0); 下面是一段
浏览 0
提问于2016-12-16
得票数 4
2
回答
地址空间随机化( ALSR )与
mmap
c
、
linux
、
gcc
、
x86-64
、
aslr
malloc
返回的所有地址都与父地址和子地址完全相同。注意,
malloc
for cl1、cl2、pl1、pl2内部
使用
mmap
,因为它们是大块。所以,我的问题是,为什么
mmap
不返回不同的地址,即使存在ALSR。也许是因为随机化的种子对于最初的和分叉的过程是
一样
的。或者还有其他原因?); void * cl1 =
malloc
( (long)512e3 ); /
浏览 3
提问于2012-02-28
得票数 5
2
回答
如何
在Mac OS X程序集中动态分配内存?
macos
、
assembly
、
memory-management
、
sbrk
我想从一个不链接到标准C库的汇编程序中动态分配内存。既然brk(2)和sbrk(2)在Mac (10.6.2)上不可用,那么替代方案是什么?
浏览 0
提问于2010-03-17
得票数 5
1
回答
strace在不同缓冲区上的Linux写系统调用结果不同。
c
、
linux
、
linux-kernel
、
operating-system
、
embedded-linux
我试图在Linux上
使用
write()系统调用将数据缓冲区写入文件,这是我编写的用户空间代码。(),另一种来自
mmap
()。我
使用
strace来观察内核将在这两种缓冲区上做什么。它们大多数是相同的,但我看到在做write()时,它们看起来不
一样
。在我的系统中,来自
malloc
()的缓冲区比
mmap
()更快。谢谢。 更新:
如何
度量
malloc
()更快?然后,我
使用</em
浏览 5
提问于2016-08-16
得票数 0
3
回答
如何
交换内存块?
c++
、
c
、
memory-management
、
lazy-loading
如何
使
malloc
()或new分配的内存块:事实上,我正试着预订一个地址空间。
如何
做到这一点? PS。
如何
从用户空间验证内存块是否被交换掉?
浏览 7
提问于2010-03-25
得票数 1
回答已采纳
3
回答
如果我
使用
mmap
而不是
malloc
来分配内存呢?
c
、
linux
、
memory-management
、
malloc
、
mmap
与
使用
malloc
相比,
使用
mmap
(
使用
MAP_PRIVATE和MAP_ANONYMOUS)分配内存有什么缺点?对于函数作用域中的数据,我无论
如何
都会
使用
堆栈内存,因此不会
使用
malloc
.由于两个原因,
使用
mmap
的开销会很大,一个是以4096字节的粒度进行分配,另一个是需要进行系统调用。 但在其他情况下,你认为
malloc
比
mmap
更好吗?其次,我是否高估
浏览 0
提问于2012-01-15
得票数 24
6
回答
为什么
malloc
()可以互换地调用
mmap
()和brk()?
c
、
linux
、
linux-kernel
、
heap-memory
、
dynamic-memory-allocation
我跟踪了Linux调用,发现如果我
使用
malloc
请求少量堆内存,那么
malloc
就会在内部调用brk。 但是,如果我
使用
malloc
请求大量堆内存,那么
malloc
就会在内部调用
mmap
。因此,brk和
mmap
之间肯定有很大的区别,但理论上,无论请求的大小
如何
,我们都应该能够
使用
brk来分配堆内存。那么,为什么
malloc
在分配大量内存时调用
mmap
呢?
浏览 7
提问于2020-09-23
得票数 17
回答已采纳
2
回答
是否有一套将“`
malloc
()”实现从
使用
“`sbrk()”改为“`
mmap
()”的指南或建议?
c
、
malloc
这段代码在
使用
uClibc编译时工作,但是
像
musl这样的现代C库禁用sbrk()。我需要知道什么才能开始将基于sbrk()的
malloc
()实现重写为基于
mmap
()的实现。
浏览 2
提问于2015-10-12
得票数 0
回答已采纳
2
回答
您是否特别需要
malloc
来为链表的新元素分配内存
c
、
malloc
、
heap-memory
、
sbrk
因此,据我所知,
malloc
返回一个指向堆中某个位置的指针。sbrk()将堆最小扩展4k编辑:我不能
使用
malloc
的原因是因为我的任务是创建我自己的
malloc
,并且被告知要
使用
sbrk。
浏览 6
提问于2019-11-02
得票数 0
1
回答
使用
mmap
和
malloc
在同一个程序中分配内存安全吗?
c
、
malloc
、
mmap
到目前为止,我的理解如下:现在,假设sbrk/
malloc
当前的顶部是0x001000。我
使用
mmap
来分配一个4KB的页面,这个页面在0x0020000上分配。后来,如果我多次
使用
malloc
,并因此不得不增加sbrk顶部。那么,如果顶部达到0x002000呢?
mmap
.If 是可能的吗?如果没有,请指出我对<em
浏览 0
提问于2019-10-04
得票数 1
回答已采纳
1
回答
在调用
malloc
之后brk指针是
如何
增长的
linux-kernel
、
c
、
virtual-memory
我是Linux和C的新手,我只想问一下,在调用
malloc
之后,brk指针是
如何
增长的。我们知道内核维护一个指向堆顶部的brk指针。假设当我们调用
malloc
来分配请求的内存时,没有可用的空闲块,而且我们知道
malloc
在内部调用
mmap
。以下是我的问题://not 100% correct onlyfor
浏览 0
提问于2020-09-23
得票数 1
回答已采纳
2
回答
使用
mmap
()代替
malloc
()
c
、
malloc
、
mmap
我的代码是:MAP_ANONYMOUS,-1, 0); 澄清一下,我不能
使用
malloc
(),但可以
使用
mmap
()。是否有理由让它在一个而不是另一个上工作,
mmap
()是以这种方式分配内存的有效方法吗?我担心的是,最初我会为每个
mmap
()调用分配大量内存,但现在我无法让它运行。此外,返回的错误
mmap
浏览 3
提问于2016-10-19
得票数 7
回答已采纳
1
回答
python:数学和os模块中的函数被EINTR中断
python
、
linux
、
operating-system
、
arm
、
eintr
我
使用
buildroot构建rootfs : Python 2.7.1,uClibc-0.9.31。system call: 'firmware'for fileName in os.listdir('firmware'):附注:我意识到库调用(例如对libm的调用)不是系统调用,那么为什么我有“中断的系统调用”?
浏览 6
提问于2012-02-01
得票数 3
2
回答
如何
在Linux上的C中区分内存不足和地址空间不足?
c
、
memory-management
、
dynamic-memory-allocation
、
32-bit
、
virtual-address-space
一个进程
使用
mmap
将总共2.8 it的文件映射到它的地址空间。然后,该进程尝试
使用
malloc
分配500MB的内存。代码看起来
像
这样:{ void* file_ptr =
mmap
(..., fd, ...); //
m
浏览 10
提问于2020-06-09
得票数 0
1
回答
malloc
使用
什么系统?
c
、
linux
、
memory-management
、
malloc
我正在学习内存管理,并有一个关于
malloc
如何
工作的问题。指出: free
浏览 3
提问于2020-04-28
得票数 3
回答已采纳
1
回答
malloc
和
mmap
之间的区别
c
、
malloc
、
mmap
我正在尝试在c中实现
malloc
,我必须
使用
mmap
,但我仍然不明白
malloc
和
mmap
(MAP_ANNON)之间的区别,它们都返回一个内存区,所以为什么我们
使用
malloc
而不是
mmap
,这之间有什么区别: c =
malloc
(1000) 还有这一条: c =
mmap
(NULL, 1000, PROT_READ | PROT_WRITE| MAP_ANON, -1, 0);
浏览 118
提问于2020-10-31
得票数 1
1
回答
为什么
malloc
从某个阈值开始依赖
mmap
?
linux
、
performance
、
memory-management
、
malloc
我读了一些关于
malloc
的文章,在
malloc
的手册页上找到了以下内容: 通常,
malloc
()
使用
sbrk(2)从堆中分配内存,并根据需要调整堆的大小。当分配大于
MMAP
_THRESHOLD字节的内存块时,glibc ()实现
使用
mmap
(2)将内存分配为私有匿名映射。默认情况下,
MMAP
_THRESHOLD是128 kB,但是
使用
mallopt(3)是可调整的。
使用
mmap
(2)执行的分配不
浏览 4
提问于2015-10-14
得票数 8
回答已采纳
2
回答
在glibc中中止,同时尝试
使用
sbrk来缩小数据段的大小。
gcc
、
heap-memory
、
glibc
、
mmap
、
sbrk
在
使用
glibc时,我尝试
使用
使用
负参数来减少数据段,发现了一种非常奇怪的行为。 我首先
使用
malloc
,然后
使用
free,然后用sbrk减少数据段,然后再
使用
与第一个相同大小的
malloc
。但是,当我稍微增加一些
malloc
-free-
malloc
大小(到94k页)时,我就得到了核心转储。更奇怪的是,当我将
malloc
大小提高到超过
mmap
阈值(128 K)时,我就得到了调整中止
浏览 12
提问于2022-01-09
得票数 -1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何把Word用得像PS一样?
如何像程序员一样思考
如何像产品经理一样追女生?
如何像作家一样每日一更?
像高手一样使用Notion之快捷键
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券