腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何在
linux
内核中使用
连续
内存
?
memory-management
、
linux-kernel
我发现
物理
内存
被分成如下几个列(
内存
交错):在我的课程作业中,我一直在研究
linux
内核源代码。在创建sysfs (/sys/devices/system/me
浏览 0
提问于2013-10-27
得票数 6
1
回答
我们能通过mmap()分配
物理
上
连续
的
内存
吗?
c
、
linux
、
memory
、
mmap
为了实验目的,我需要aarch64
Linux
4.15中的
物理
连续
内存
。分配之后,我将通过/proc/self/pagemap标识它的
物理
地址我能分配
物理
上所有的
连续
浏览 0
提问于2018-11-05
得票数 4
回答已采纳
1
回答
为什么kmalloc()比vmalloc()更高效?
linux
、
memory
、
memory-management
、
linux-kernel
、
page-tables
我认为kmalloc()在内核中分配
连续
的
物理
页面,因为虚拟
内存
空间直接映射到
物理
内存
空间,只需添加一个偏移量。#define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) 为什么内核需要计算
物理</em
浏览 3
提问于2016-11-30
得票数 1
4
回答
来自用户空间的
连续
物理
内存
linux
、
memory
在
linux
中,有没有办法从用户空间分配
连续
的
物理
内存
?至少有几个保证
连续
的
内存
页。一个巨大的页面不是解决问题的办法。
浏览 1
提问于2010-12-10
得票数 20
回答已采纳
1
回答
Linux
进程的虚拟
内存
结构
linux
、
linux-kernel
、
process
、
virtual-memory
我正在阅读一本教科书,其中显示虚拟
内存
如下:
Linux
还将一组
连续
的虚拟页面(与系统中的DRAM总量相等)映射到相应的
连续
物理
页面集。这为内核提供了一种访问
物理
内存
中任何特定位置的方便方法。我认为这是指第二节“
物理
记忆”。但是它意味着什么呢?我是访问
物理
内存
中任何特定位置的一种方便的方式?如果您想访问特定的位置,cpu仍然需要发出一条指令,该指令具有可以由TLB使用的虚拟地址,然后生成一个
物理
浏览 0
提问于2020-09-21
得票数 0
回答已采纳
1
回答
内核中8字节对齐的空闲
连续
页面列表
linux
、
linux-kernel
、
embedded
、
kernel
、
linux-device-driver
谁能告诉我有没有
Linux
内核API可以给我免费的
连续
页面列表,起始页面地址是8字节对齐的? 我需要获得
连续
的
物理
内存
,而不是虚拟
内存
。
浏览 7
提问于2012-07-06
得票数 0
回答已采纳
6
回答
为什么内核关心发出
物理
上
连续
的页面?
linux-kernel
当进程从
Linux
内核请求
物理
内存
页面时,内核会尽最大努力提供
内存
中
物理
上
连续
的页面块。我想知道为什么页面在
物理
上是
连续
的很重要;毕竟,内核可以通过简单地提供虚拟
连续
的页面来掩盖这一事实。然而,内核当然会尽最大努力提供
物理
上
连续
的页面,所以我想弄清楚为什么
物理
上的
连续
如此重要。我做了一些研究&通过几个来源,发现了以下原因: 1)更好地利用缓存,实现更低的平
浏览 1
提问于2011-11-14
得票数 11
1
回答
kmallc和vmalloc返回逻辑地址?
memory-management
、
linux-kernel
、
linux-device-driver
、
kmalloc
、
vmalloc
据我所知vmalloc :它是内核API,它分配
物理
上的、非
连续
的但实际上是
连续
的
内存
。
内存
管理一直是我在
linux
内核中的灰色部分,所以如果我的理解是错误的,请纠正我。
浏览 4
提问于2014-04-12
得票数 0
回答已采纳
1
回答
在64位
linux
内核中,内核
连续
映射多少
内存
?
kernel
、
linux-kernel
、
64bit
我已经通过了Robert的
Linux
内核开发和其他来源。它在任何地方都提到,在32位x86系统上,内核拥有最多1GB的虚拟地址空间,其中多达896 MB被
连续
映射到
物理
内存
(称为ZONE_NORMAL),其余的按需要映射到其余的128 MB空间,可能不是
连续
的因为所有
内存
都在虚拟地址空间的范围内? 但是内核的固定
连续
内存
(这是不可分页的)也需要很小,因为这部分
物理
内存
永远不会被其他用户进程使用。因此内核需要根据需要使
浏览 0
提问于2020-08-21
得票数 2
2
回答
malloc不能保证返回
物理
上
连续
的
内存
。
memory-management
、
malloc
我正在阅读关于虚拟
内存
的文章,我的结论如下: 我是对的还是错的?请解释一下。
浏览 3
提问于2015-09-28
得票数 5
回答已采纳
1
回答
我可以分配一个大的和有保证的
连续
范围
物理
内存
(100MB)吗?
linux
、
memory
、
memory-management
、
posix
我可以在
Linux
上分配一个大的保证
连续
范围的
物理
内存
(100MB
连续
无中断)吗?如果我可以,那么我如何做到这一点?有必要通过PCI-Express条将这个
连续
的
内存
块从一个CPU1映射到位于PCIe非透明网桥后面的另一个CPU2。
浏览 6
提问于2013-11-19
得票数 0
3
回答
Linux
内核
内存
管理,是否一直使用
连续
的
内存
页?
linux
、
memory-management
、
kernel
linux
内核是否
连续
地分配
内存
,例如从malloc分配
内存
?如果没有大的部分可用,而是作为整体工作的小部分,
Linux
会使用它吗?
浏览 3
提问于2012-07-25
得票数 1
1
回答
Linux
SPARSEMEM
内存
模型真的很稀疏吗?
c
、
linux
、
memory
、
memory-management
、
linux-kernel
我正在尝试理解
Linux
SPARSEMEM
内存
模型是如何工作的。据我所知,当设置了SPARSEMEM_VMEMMAP时,还有第二个映射将来自不同(可能断开连接的)部分的mem_maps“粘合”在一起,这样PFN和page结构之间的映射就是
连续
的。到目前一切尚好。问题是,如果
物理
内存
确实有漏洞,那么从PFN/page到
物理
地址的映射应该需要一些自定义映射,而不是简单的线性代数,对吗?/pfn.h #define PFN_PHYS(x) ((phys_addr_t)(x
浏览 0
提问于2019-09-26
得票数 0
1
回答
内核数据的
物理
存储
kernel
、
ram
我对
Linux
内核数据的
物理
存储有一些疑问,我知道每个进程的虚拟
内存
的上1GB指向相同的
物理
位置,但是内核数据只需要1GB的
物理
内存
吗?内核数据的某些页是否可以交换到磁盘(例如页表,页全局目录总是在
物理
内存
中,不能像我所理解的那样交换到磁盘)?
浏览 0
提问于2011-09-09
得票数 0
回答已采纳
1
回答
分页和非
连续
内存
分配
memory-management
、
linux-kernel
、
paging
、
virtual-memory
、
page-fault
对于x86_64
Linux
操作系统中的
内存
管理,我几乎没有疑问。如果我从用户空间代码中分配一个2000字节的数组(静态- arr[2000];或动态- malloc(2000);),这些将是
物理
内存
中的
连续
内存
吗?如果我分配
内存
(上面的例子相同,静态- arr[2000];或动态- malloc(2000);),会有一个页面表向上映射到
物理
内存
中的这些2000 bytes,以便可以从页面表条目中找到对这些
内存
地址的
浏览 1
提问于2020-06-06
得票数 0
1
回答
较大的
物理
连续
内存
区域
linux
、
memory-management
为此,我正在
Linux
上开发一个应用程序,它需要一个
物理
上
连续
的
内存
区来进行测试。为了完全控制分配(即,让它在
物理
上是
连续
的),我的想法是编写一个
Linux
模块,导出一个设备,并从用户空间对其执行mmap(),但我不知道如何在内核中分配如此多的
连续
内存
。我听说过
Linux
连续
内存
分配器(CMA),但我不知道它是如何工作的
浏览 3
提问于2015-01-09
得票数 1
1
回答
为什么内核中没有devm_vmalloc()?
memory-management
、
linux-kernel
最新的
linux
内核提供了像devm_get_free_pages()、devm_kmalloc()或devm_ioremap()这样的设备管理资源分配。
浏览 1
提问于2016-03-18
得票数 0
2
回答
如何获取DRAM地址而不是虚拟地址
c
我知道,如果我试图打印一个数组元素的地址,它将是一个来自虚拟
内存
的地址,而不是来自真实
内存
(
物理
内存
),即DRAM的地址。printf ("Address of A[5] and A[6] are %u and %u", &A[5], &A[6]);无论是Windows还是
Linux
,我都需要知道这一点。
浏览 3
提问于2013-12-13
得票数 1
1
回答
具有
物理
内存
的
linux
内核逻辑
内存
分配
linux
、
linux-kernel
我正在阅读关于
linux
内核逻辑/虚拟地址和高/低
内存
的文章。据我所知,内核逻辑空间是直接映射到
物理
内存
的
内存
的一部分。例如,在具有小
内存
的32位系统上(例如512 MB ),虚拟空间3GB ~ 3GB +512 MB是
连续
映射到所有512 MB
物理
内存
的内核逻辑空间1:1 (在本例中没有高
内存
)。如果内核逻辑地址3GB ~ 3GB +512 it必须使用这个固定的1:1映射到
物理</em
浏览 3
提问于2022-03-01
得票数 0
1
回答
devm_kzalloc是否给出
连续
的记忆?
linux
、
linux-kernel
、
linux-device-driver
这个函数分配的
内存
在驱动程序分离时会自动释放。与所有其他的吞吐资源一样,保证对齐是无符号的长”。 我也读过kzalloc的手册,但我仍然怀疑分配的
内存
是否是
连续
的。因此,我试图了解是否有任何必要的
连续
记忆。
浏览 6
提问于2019-10-21
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
物理内存和虚拟内存区别
避免物理内存碎片化
高频面试题——你真的搞懂物理内存与虚拟内存了吗
图解|Linux内存碎片整理
Linux内存映射mmap原理分析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券