腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
当多个进程
使用
该段时,Posix
使用
mremap
调整
共享
内存
大小
c++
、
c
、
linux
、
shared-memory
、
mmap
我正在将一些数据存储在多个进程
使用
的
共享
内存
数组中。在某种程度上,我想要扩展数组。最初,Process 1将创建段,流程2将打开它。过程1ftruncate()过程2
mmap
()ftruncate()
mrema
浏览 2
提问于2018-03-13
得票数 4
回答已采纳
1
回答
使用
mremap
调整
mmap
共享
内存
的
大小
失败
memory
、
fork
、
mmap
我正在处理一个项目,在这个项目中,我需要在
使用
fork() API创建
的
进程之间
共享
大量
的
std::对。在程序开始时,数组
的
大小
是未知
的
。稍后,父进程将与子进程通信以确定数组
的
大小
。然后,它将通过调用
mremap
() API
调整
共享
内存
空间
的
大小
。到目前为止,我还没有
使用
mmap
和
mr
浏览 73
提问于2019-06-06
得票数 1
1
回答
Linux中
mremap
函数
的
特点
c++
、
c
、
linux
在Linux中,
mremap
函数用于重新映射
使用
mmap
映射
的
内存
。请帮助我澄清以下几点: 如果
mremap
函数成功,那么在
内存
中是否有以前
的
数据?
浏览 38
提问于2013-04-18
得票数 3
2
回答
mremap
()到\0-终止字符串
c
、
mmap
我在我
的
一个程序中
使用
mmap
()ed
内存
。一个问题是,当
mmap
()ed
内存
是页面
大小
的
倍数时,它不是\0-terminated。因此,为了确保它是\0-terminated,我考虑
使用
特定于Linux
的
mremap
()。因此,我在代码中
的
想法是: buf =
mmap
(NULL, oldsize, PROT_READ | PROT_WRITE, MAP_SHA
浏览 3
提问于2015-08-25
得票数 1
回答已采纳
1
回答
mmap
中允许合并页面吗?
c
、
mmap
简而言之,我想
调整
内存
的
大小
,但是在新
内存
的
中间有旧
的
内存
。因此,我所做
的
就是
使用
mmap
作为初始
大小
(p1),在p1之前
的
一个地址
使用
mmap
,假装我使
内存
更大,然后将新指针当作是用单个
mmap
(p3,
mremap
)创建
的
。代码似乎有效,但我不确定这是否
浏览 3
提问于2020-03-02
得票数 1
回答已采纳
1
回答
使用
mremap
将页面重新映射到现有范围
使用
MREMAP
_FIXED导致错误“坏地址”
c++
、
linux
、
mmap
背景:我正在开发一个
使用
mmap
提供连续地址范围
的
数据结构。第一个N个字节(舍入到pagesize,小于物理
内存
)驻留在
内存
中,其余
的
由
内存
映射文件支持。若要扩展地址范围,请执行以下步骤:要重新映射
内存
范围,需要
使用
m
浏览 0
提问于2021-09-10
得票数 1
1
回答
堆栈增长和
mmap
堆栈?
c
、
linux
、
kernel
我正在阅读这个关于
内存
过度提交
的
,它提到guarantees and run close to the edge you MUST
mmap
your stack for the not matter much but it's a corner case if you really really
浏览 0
提问于2021-10-22
得票数 1
1
回答
调整
POSIX
共享
内存
的
大小
。一个有用
的
例子
c
、
linux
、
shared-memory
、
mmap
在两个不同
的
应用程序之间,POSIX模型中有一个
共享
的
动态数组。我想有能力改变它
的
大小
而不抄袭。不幸
的
是,我无法找到正确
的
解决方案来增加和减少C语言中
的
POSIX
共享
内存
。在网上,我发现许多文件
的
解释都很糟糕,例子也很糟糕。我找到了一些有趣的话题,但它们都不适合我: -只是一个描述。没有例子。-最喜欢
浏览 1
提问于2016-11-03
得票数 12
回答已采纳
2
回答
mremap
(2)用HugeTLB改变虚拟地址?
c
、
linux
Linux (2)函数能够将从
mmap
()获得
的
HugeTLB虚拟地址更改为新
的
固定虚拟地址吗?perror("
mremap
"); }}
mmap
()由
mremap
()成功,<e
浏览 6
提问于2015-01-17
得票数 3
回答已采纳
3
回答
mremap
将不会展开超过一页
的
大小
。
c++
、
linux
、
system-calls
、
mmap
我正在创建一个模板类,其动态数组
的
行为类似于std::vector,但是底层数组存储在
共享
内存
中,以便可以在进程之间
共享
。我遇到
的
问题是,一旦我
调整
了
内存
的
大小
,传递给我
的
内存
只有一个页面
大小
,如果我试图访问第二个页面,就会得到一个SIGBUS错误。如果我用
mmap
分配一个更大
的
页面
大小
,例如,我尝试了最多1MB,它会很好地分配
浏览 4
提问于2021-03-02
得票数 1
回答已采纳
1
回答
mmap
系统调用用法
posix
、
mmap
我听说过
使用
mmap
系统调用将两个
内存
块合并为一个带有MAP_ANONYMOUS标志
的
连续
内存
,但我找不到任何简单
的
示例来
使用
这个技巧。维基百科上
的
例子实现了一个优化
的
循环缓冲区,对我来说太复杂了()。 你能给我一些MAP_ANONYMOUS标志
的
用法例子吗?
浏览 0
提问于2011-12-09
得票数 1
回答已采纳
2
回答
Syscall
mremap
()不像我预期
的
那样工作。它被窃听了吗,还有其他
的
记忆方式吗?
c
、
linux
、
linux-kernel
、
system-calls
我
的
示例
使用
非POSIX
mremap
()调用将分配给
mmap
()
的
匿名
内存
块连接到一个持续区域。基于可用
的
,我希望它能够正常工作。然而,
mremap
()操作“grow”意外
失败
,这很可能是由于
内存
块
的
内核内表示(称为VM/VMA),其中一个连续
的
用户空间区域仍然是内核中
的
两个单独
的
VM/VMA。算法如下: 有
内存
浏览 10
提问于2022-07-06
得票数 0
3
回答
如何从
mremap
的
new或malloc运算符获取页面对齐
内存
c++
、
c
、
posix
有没有办法分配一个
内存
块,使它
的
起始地址与给定
的
页面
大小
对齐?请注意,我不想在分配块之后计算对齐
的
地址。原因是,在某个时刻,我将不得不在块上调用
mremap
():
mremap
要求旧地址参数与页面对齐。
浏览 0
提问于2013-06-02
得票数 4
回答已采纳
2
回答
mmap
的
大小
限制是多少?
linux
、
mmap
我
使用
mmap
()将
共享
内存
对象映射到进程。我
的
问题有两部分:所
使用
的
linux内核是2.6.27。
共享
<em
浏览 6
提问于2012-10-29
得票数 5
2
回答
如何实现动态
共享
内存
大小
调整
?
c
、
memory-management
、
resize
、
shared-memory
、
mmap
目前,我
使用
shm_open获取文件描述符,然后在想要向
共享
内存
添加新缓冲区时
使用
ftruncate和
mmap
。每个缓冲区都单独用于各自
的
用途。 现在我需要做
的
是任意
调整
缓冲区
的
大小
。对于第一个问题,我能想到
的
唯一解决方案是:file_size( old_buffer_size + extra_size),
mmap
,将数据复制到新
的
缓冲区中,然后对原始数据进行<e
浏览 0
提问于2015-06-04
得票数 6
1
回答
mmap
文件
的
快速
调整
大小
c++
、
c
、
linux
、
mmap
我需要一个没有拷贝
大小
的
非常大
的
mmap
文件,同时仍然允许并发访问读取器线程。
mmap
--具有MAP_PRIVATE
的
文件--在多个线程中对该
内存
进行只读访问--要么为该文件获取互斥对象,要么写入
内存
(假定这是以读取器可能正在读取该
内存
的
方式完成
的
)或获取互斥,但增加文件
的
大小
并
使用
mremap
将其移动到一个新地址(无需复制或
浏览 0
提问于2012-01-02
得票数 9
回答已采纳
1
回答
将一维数组添加到C中
的
POSIX
共享
内存
对象。
c
、
posix
、
shared-memory
我正在开发一个基于POSIX
的
程序,它在两个或多个进程之间
共享
一个
内存
对象,也就是一个服务器客户端程序。 我对程序
的
服务器端有一些问题。我知道如何
使用
mmap
()映射
内存
,以及如何在两个不同
的
进程/程序之间
使用
对象。但是,当向
共享
内存
对象添加整数数组时,我遇到了一个问题。我可以
使用
sprintf()将内容打印到
共享
内存
对象,然后通过简单
浏览 0
提问于2018-03-17
得票数 1
回答已采纳
4
回答
c++ realloc相同指针保证
c++
、
dynamic-memory-allocation
、
realloc
使用
std::realloc函数: 如果新
的
大小
较小,它是否总是有保证将
内存
块保持在相同
的
位置,并且只使它更小,或者它有时可以移动整个块?问这个问题
的
原因是,我们编写
的
代码很大而且非常硬,当我们试图更改错误
的
变量时,只读取我们需要保持不变
的
所有变量,以获得编译器
的
错误是很有用
的
。
浏览 0
提问于2014-09-17
得票数 0
回答已采纳
1
回答
在Go中调用
mremap
不起作用,但不会产生错误
linux
、
go
、
unix
、
system-calls
、
mmap
我正在尝试从Go
mremap
一个文件,但是文件
的
大小
似乎没有变化,尽管返回了0
的
errno。当我试图访问映射
内存
时,这会导致段错误。 我已经包含了下面的代码。这个实现类似于sys包中
的
mmap
实现,所以我不确定这里出了什么问题: package main "fmt" "log"
浏览 19
提问于2020-11-10
得票数 2
回答已采纳
3
回答
如何可移植地扩展
使用
mmap
()访问
的
文件
linux
、
macos
、
mmap
我们正在尝试更改嵌入式数据库系统SQLite,以
使用
mmap
()代替通常
的
read()和write()调用来访问磁盘上
的
数据库文件。对整个文件
使用
单个大映射。假设该文件足够小,因此在虚拟
内存
中为该文件找到空间没有问题。 到目前一切尚好。在许多情况下,
使用
mmap
()似乎比read()和write()要快一些。在某些情况下速度更快。
调整
映射
大小
以提交扩展数据库文件
的
写事务似乎是个问题。换句话说,它减缓
浏览 12
提问于2013-03-28
得票数 31
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
鸿蒙轻内核四大基础功能介绍
Linux 实现原理—I/O 处理流程与优化手段
读写成功率达99.999%,提升ElasticSearch系统稳定性的秘密
MemoryFile 共享内存原理分析
聊聊跨进程共享内存的内部工作原理
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券