腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
为什么低级C代码如此随意地使用goto?
、
、
看过一些不同的C系统代码库(特别是BSD和
Linux
的内核)后,我注意到goto的自由使用,即使使用更高级别的流控制结构(如循环或函数调用)也是微不足道的。这里有一个例子,来自
Linux
中的mm/mmap.c: if (find_vma_links(mm, addr, addr + len, &prev, &rb_linkgoto
munmap
_back;
munmap
_back在其他任何地方都不会被引用,因此此代码完全等同于
浏览 0
提问于2015-01-11
得票数 0
2
回答
来自
munmap
的
Linux
错误
、
、
关于
Linux
中的mmap和
munmap
,我有一个简单的问题:有没有可能mmap成功了,而
munmap
失败了? printf("
munmap
failed!\n"); }
浏览 3
提问于2014-04-01
得票数 2
2
回答
为什么(ftruncate+mmap+memcpy)比(write)快?
、
、
、
我发现了一种不同的写入数据的方法,它比普通的unix write函数更快。据我所知,mmap可以将文件加载到进程地址空间中,通过忽略页缓存来加速。但是,我不知道为什么它可以加快写作速度。这是测试代码。其中一些是用ObjC编写的,但不要紧。WCTTicker只是一个使用gettimeofday的统计类。NSString* document = NSSearchPat
浏览 0
提问于2016-07-05
得票数 1
1
回答
VMA操作问题
、
、
、
有人知道结构vm_operations_struct (
linux
/mm.h)的关闭函数指针是什么时候被调用的吗?是指定地域调用
munmap
的时候吗? 如果是这样,这是同步的吗?这意味着在从
munmap
返回之后应该已经调用了close?
浏览 3
提问于2011-06-30
得票数 2
回答已采纳
3
回答
我可以使用对
munmap
()的单个调用来取消位于虚拟内存连续范围内的两个内存映射吗?
、
、
、
. */
munmap
(pMap1, 2 * 1024*1024);
munmap
(pMap1, 1 * 1024*1024); } 操作系统确实将我的第二个映射放在请求的位置(因此(pMap2==pReq)条件为真),对
munmap
()的单个调用是否会释放所有分配的资源
Linux
手册页上写着“
munmap
()系统调用删除指定地址范
浏览 9
提问于2013-03-30
得票数 2
4
回答
Linux
上的
munmap
性能
、
、
当文件不在文件系统中时,会执行
munmap
来释放内存。我的问题是
munmap
(有时在文件上关闭)会减慢其他线程的速度,在不同的内存上执行操作,所以我想知道是否有更好的方法来实现这一点。我有两个想法:将内存分成更小的块来
munmap
更小的块(这有可能吗?),或者根本不使用
munmap
,自己分配/释放内存,如果文件不再在文件系统上,可以选择缓存内存块,并将其重用于下一个文件。
浏览 0
提问于2012-03-22
得票数 1
2
回答
为什么在struct file_operation中没有
munmap
回调?
、
、
、
我正在开发一个
Linux
内核模块,它通过syscall mmap与用户应用程序共享一段内存。然而,当用户应用程序想要通过syscall
munmap
停止共享时,问题就出现了。在struct file_operations中没有
munmap
回调或做类似工作的东西。在搜索解决方案时,我发现曾经定义了一个
munmap
回调。但是当内核版本大约是2.4或之后的几次时,它就被删除了。有人能告诉我为什么删除
munmap
回调,或者在调用
munmap
syscall时是否有其他方法通知内核模块?
浏览 3
提问于2014-08-02
得票数 6
回答已采纳
1
回答
程序完成后挂起mpirun
、
34359734272, freeswap=34358018048, procs=309, totalhigh=0, freehigh=0, mem_unit=1}) = 0
munmap
(0x7f61ede9e000, 2105664) = 0
munmap
(0x7f61eda95000, 2109856) = 0
munmap</em
浏览 2
提问于2020-04-05
得票数 0
回答已采纳
1
回答
什么时候调用exit_mmap?
、
我认为赛车手可能有比赛条件.在exit_mmap (在
linux
/mm/mmap.c中实现)中调用了一些我期望最终由
munmap
系统调用的清理代码。在
munmap
调用之后,立即进行ioctl调用。
浏览 2
提问于2011-07-06
得票数 4
回答已采纳
1
回答
linux
不工作(或至少不能立即工作)
、
、
我没有错误地调用了
munmap
,但是映射仍然是/proc/<pid>/maps中的visibe,当我尝试mmap(address_overlapping_with_what_I_tried_to_
munmap
详细信息:32位
Linux
4.1.18最初,地图条目是然后在我用参数调用
munmap
之后,0xbfe50000
浏览 2
提问于2016-04-08
得票数 2
回答已采纳
1
回答
使用私有匿名映射的ENOMEM的
munmap
()失败
、
、
、
、
我最近发现,当mmap (虚拟内存区域)结构的数量超过vm.max_map_count时,
Linux
并不保证
munmap
可以释放分配给vm.max_map_count的内存。问题是,如果可能的话,
Linux
内核总是尝试合并VMA结构,即使是单独创建的映射,
munmap
也会失败。在我的机器上,最后一个
munmap
调用总是在ENOMEM中失败。 最初,我认为如果使用与创建映射所用的地址和大小相同的值,
munmap
就不会失败。显然,
Linux
上的情况并非如此,而且我无法在其他
浏览 24
提问于2017-05-02
得票数 22
1
回答
/proc/$PID/anon_inode:dmabuf中的"/dev/zero (deleted)",“maps”来自哪里?
、
、
、
、
我正在调试嵌入式
Linux
内存耗尽问题,并注意到有大量/dev/zero(已删除)和映射条目从正在运行的进程的/proc/$PID/ anon_inode:dmabuf文件中弹出。我尝试使用"strace -f -e trace=mmaps2,
munmap
,open,mremap“来跟踪系统调用。但是,当/dev/zero条目弹出/proc/$PID/map文件时,我看不到任何mmap/
munmap
/open()
浏览 6
提问于2015-01-23
得票数 2
1
回答
我可以给malloc映射内存吗?
、
、
、
我可以
munmap
它,然后在下一次我进行足够大的分配时再次使用malloc mmap。我在
linux
上使用glibc。
浏览 24
提问于2019-07-12
得票数 3
回答已采纳
3
回答
Linux
中实现零页的最快方法
、
我需要清除
Linux
中的大地址范围(每次200页的订单)。我试过两种方法- 使用memset -清除地址范围的最简单方法。执行速度比方法2慢一点。使用
munmap
/mmap --我在地址范围内调用了
munmap
,然后使用相同的权限再次调用了相同的地址。由于MAP_ANONYMOUS被传递,页面将被清除。但我不喜欢这样,因为
munmap
和mmap不是原子的。如果同时执行另一个mmap (以NULL作为第一个参数),则会使我的地址范围不可用。那么,我的问题是,
Linux
是否提供了一个系统调用,可
浏览 1
提问于2018-04-18
得票数 6
1
回答
munmap
_chunk()是一个函数吗?如果是的话,它是做什么的?
、
有时使用堆分配函数的代码会抛出此错误:
munmap
_chunk(): invalid pointer --由上下文显示--
munmap
_chunk()是一个函数,而这些错误就是抛出它们的函数。我的问题相当简单,所以没有理由提供很多额外的信息:什么是
munmap
_chunk()?
浏览 1
提问于2019-08-12
得票数 1
回答已采纳
1
回答
内存映射文件不能在未映射的情况下关闭,因为它仍然是引用的
、
、
、
在macOS中,如果不首先取消映射(使用
munmap
syscall),就无法关闭内存映射文件(使用
munmap
syscall ),虽然关闭syscall返回成功结果(=0),我仍然可以在lsof -在
linux
中,根据mmap手册页,明确提到了closing the file doesn't unmap the file。 这真的是2 OSes之间的不同行为吗?对这种不同的行为有什么解释吗?
浏览 7
提问于2017-10-19
得票数 2
回答已采纳
1
回答
PHP进程在退出时永远挂起
、
、
、
这种情况发生在Windows和
Linux
上,因此与操作系统无关。
munmap
(0x7fb8b3191000, 790528) = 0
munmap
(0x7fb8b3314000, 266240) = 0
munmap
(0x7fb8b3355000, 266240)
浏览 1
提问于2014-11-12
得票数 3
回答已采纳
2
回答
解析
munmap
警告消息
、
、
我的以下方法生成警告:void unmap(mapping_t *maps, const int *curSize){
浏览 2
提问于2017-06-06
得票数 0
1
回答
如何知道为C中的单个程序分配的内存的全部大小?
、
、
、
检查在程序结束时分配的程序总内存,因为我使用空闲()函数来释放数组。
浏览 8
提问于2018-01-10
得票数 0
回答已采纳
1
回答
重置或免费复制写入映射区域的最快方法
遗憾的是,MADV_DONTNEED的行为与
munmap
完全相同,似乎正在释放所有页面。
munmap
是非常昂贵的,性能至少是可怕的,使用$thing从头开始创建一个新的MAP_ANONYMOUS,手动初始化它,然后使用
munmap
来创建一个新的MAP_ANONYMOUS,它的方法更便宜。这就是从一个范围到另一个范围的memcpy,而且由于我们在2021年,我希望
Linux
能够在写上进行复制。我只想丢弃内存范围内的脏页。
munmap
anon: 435110ns (435 micros) <em
浏览 4
提问于2021-03-27
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
鸿蒙内核标准库与linux标准库的差异
Linux DNS 查询剖析 Linux 中国
Manjaro Linux 22.0 发布|Linux 中国
Alpine Linux 3.18 发布|Linux 中国
Linux基础(3)linux命令3
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券