腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
在
Linux
内核中如何实现按需填零,在哪里可以禁用它?
、
、
、
、
当我们malloc
内存
时,只有虚拟
内存
可用,它实际上指向零
页
。实际的物理
内存
是在写入错位的
内存
时被
分配
的,此时会出现从零
页
到物理
内存
的按
页
错误映射的copy-on-wright。我的问题是,在
linux
源代码
中如何/在何处实现零填充需求,我想禁用此功能以进行一些测试。我猜它可能发生在页面错误过程中,而不是brk()或mmap()。
浏览 4
提问于2017-07-07
得票数 5
2
回答
解释内核消息:“页面
分配
失败。顺序:1”
、
、
以下内核错误消息的正确解释是什么:[N] Pid: 0, comm: swapper Not tainted 2.6.x #15
浏览 3
提问于2010-04-13
得票数 1
回答已采纳
1
回答
Linux
内核:重新
分配
的页面帧被清除了吗?
、
、
当进程结束时,
Linux
内核可以将用户空间
页
帧(物理
内存
中的
页
)重新
分配
给另一个进程的用户空间
页
(在虚拟
内存
中)。 在重新
分配
之前,页面帧是否被清除?一种情况是将
页
帧
分配
给不断增长的堆,其中旧内容可能在
分配
的
内存
中可见。
浏览 17
提问于2022-05-03
得票数 1
回答已采纳
1
回答
我能用一个过程中的PTEs来表示物理记忆的片段,在另一个过程中创建合适的PTEs吗?
、
、
、
、
当我们在
Linux
中使用函数mmap (,,, MAP_ANON | MAP_SHARED);时,对于同一区域的物理
内存
(在进程之间
分配
的)是
分配
虚拟
内存
页
(PTEs)。这些PTE从一个进程的
页
表复制到另一个进程的
页
表(具有相同的物理地址
分配
内存
片段序列),这是真的吗? 但是mmap ()需要在fork ()之前完成。哪些函数用于在两个已经建立的进程之间复制PTE的机制以创建共享
内存
?我能用PTEs
浏览 1
提问于2013-12-01
得票数 1
1
回答
大
内存
页
和碎片
、
、
、
我使用的是
Linux
+ PPC64,其中
内存
页
大小为64 size。如果我要在同一进程中分别
分配
32 the,那会占用
内存
中的一
页
还是两
页
呢?谢谢!
浏览 2
提问于2015-05-29
得票数 0
回答已采纳
2
回答
C:
内存
使用情况在calloc之后没有反映。
calloc(1024 * 1024 * 1024,sizeof(int)); 运行Debian Jessie我使用顶部作为系统监视器。
浏览 8
提问于2016-08-12
得票数 0
回答已采纳
3
回答
内核mmap操作的
内存
大小
、
、
、
我感兴趣的是
Linux
文件进入主
内存
的方式(在我的上下文中,它用于执行,但我猜mmap进程在读写方面也是一样的),以及它使用的大小。因此,我知道
Linux
使用分页,通常是4kBpageSize(内核中的哪个位置可以找到这个大小)。但是对于
分配
的
内存
来说,这到底意味着什么:假设您有一个大小为几千字节的二进制文件,让我们简单地说5812B,然后执行它。内核中会发生什么:它是否
分配
了2*4kB,然后将5812B复制到这个空间中,在第2
页
中浪费了>3KB的主
内存<
浏览 0
提问于2011-03-16
得票数 9
回答已采纳
2
回答
内存
页
的大小和文件系统集群的大小总是一样的吗?
、
来自http://en.wikipedia.org/wiki/Page_%28计算机_
内存
%29
页
、
内存
页
或虚拟
页
是虚拟
内存
的固定长度连续块,由
页
表中的单个条目描述。它是一个最小的数据单元,用于操作系统代表程序执行的
内存
分配
,以及主存与任何其他辅助存储(例如硬盘驱动器)之间的传输。来自http://en.wikipedia.org/wiki/Data_集
浏览 0
提问于2015-01-01
得票数 1
1
回答
在启动时,
Linux
内核如何为自己的
内存
分配
器
分配
内存
?
、
、
我开始编写一个非常简单的
内存
分配
器,我只是在页面结构上进行迭代,以找到一个空闲的页面,并在找到一个页面时中断循环。当我开始写
分配
器时,我偶然发现了一个问题。我到处读到,
Linux
内核为系统中的每个页面都保存了一个页面结构。我猜
Linux
内核的
内存
分配
器使用页面结构来确定哪些
页
是空闲的,哪些是不空闲的。如果
Linux
内核的
内存
分配
程序依赖于页面结构来工作,那么它如何为
页
结构本身<em
浏览 6
提问于2022-01-04
得票数 2
2
回答
堆/堆栈和OS页面交换
、
、
、
、
我试图理解一些与
linux
相关的概念,任何人都可以帮助我回答以下问题。 问题I我知道编译器为程序的数据和代码段提供虚拟地址()。操作系统使用这些VA,并试图将它们安装到物理
内存
中。这就是ELF加载程序(
源代码
中的fs/binfmt_elf.c)在
linux
中所做的工作。堆栈和堆的VA何时
分配
给进程?我想这是动态的,但是VA是从哪里来的呢?如果可能的话,谁能告诉我
源代码
。问题II虽然我知道,物理
内存
的大小是有限的。因此,操作系统不得不不时地交换页面,以保持多个进
浏览 2
提问于2015-06-19
得票数 0
1
回答
x86_64
linux
内核
页
的大小是多少?
、
我很好奇x86_64
linux
内核页面的大小。我听说它是4KB,但其他一些消息来源告诉它是2MB。谢谢
浏览 0
提问于2019-05-12
得票数 2
回答已采纳
2
回答
c++对象数组的延迟
分配
、
int *foo = new int [n];或 const int n = 1<<14;}
Linux
内核会使用延迟
内存
分配
吗?例如,有一个将填充0的结构,是总是懒洋洋地
分配
,还是在初始化时实际
分配
物理RAM?
浏览 0
提问于2018-06-19
得票数 4
回答已采纳
1
回答
如果使用顺序大于1的vm_area (),如何创建__get_free_pages映射?
、
、
、
在此之前,我使用dma_alloc_coherent为DMA
分配
一块
内存
,并使用remap_pfn_range构建将进程的虚拟
内存
与物理
内存
相关联的
页
表。现在,我想使用订单大于1的__get_free_pages
分配
更大的
内存
块,在这种情况下,我不知道如何构建页面表。原因如下:背景: 当用户空间进程调用mmap将设备
内存
映射到其地址空间时,系统响应创建一个新的VMA来表示该映
浏览 11
提问于2022-03-03
得票数 1
1
回答
Linux
,零
页
会在第一次读取还是第一次写入时默认?
、
、
、
我的问题是特定于
Linux
的,需要了解内核、虚拟
内存
、mmap和页面结果。我有一个带有大型静态数组的C程序,它将进入bss部分(
内存
,初始化为零)。当程序启动时,这个
内存
不是物理
分配
的,只有虚拟
内存
,并且虚拟
内存
的每一
页
都映射到特殊的零
页
(全零的
页
)。当应用程序访问此页面时,将生成pagefault并
分配
物理页面。
浏览 3
提问于2012-08-25
得票数 9
回答已采纳
1
回答
如何测量
Linux
中用户空间进程使用的
内存
总量?
、
如何测量
分配
给
Linux
中用户空间程序的
内存
总量?这是用户空间程序在实际
内存
中拥有的所有
内存
页
的大小。更新:“用户空间”是指由所有用户运行的进程,包括根进程(与内核空间相反)。
浏览 0
提问于2018-03-30
得票数 4
回答已采纳
1
回答
如何
分配
完整
内存
页
、
、
、
、
在C或C++中,在
Linux
上,我希望在系统
内存
页
大小的整页中
分配
堆
内存
。 (目的是增加有害缓冲区溢出导致分段错误的可能性。)当我用C++数组new (pointer = new char[size])
分配
内存
时,其中的大小是sysconf(_SC_PAGESIZE)的倍数,那么
分配
的
内存
的(虚拟)地址通常不会是sysconf我在这里的问题是,我是否可以影响
内存
分配
,以给我完整的
内存</em
浏览 0
提问于2017-04-11
得票数 3
回答已采纳
4
回答
来自用户空间的连续物理
内存
、
在
linux
中,有没有办法从用户空间
分配
连续的物理
内存
?至少有几个保证连续的
内存
页
。一个巨大的页面不是解决问题的办法。
浏览 1
提问于2010-12-10
得票数 20
回答已采纳
2
回答
操作系统什么时候会清除进程的
内存
、
、
、
进程在某些操作系统上成功终止或异常终止,操作系统何时决定清除
内存
(数据、代码等)
分配
给该进程;在退出时或当它想要将
内存
分配
给新进程时?在所有操作系统(winXP、Win7、
linux
、Mac)上,这种清除
内存
分配
的过程都是一样的吗?谢谢。
浏览 5
提问于2012-10-04
得票数 1
1
回答
记忆中的Anon页面是什么?
、
最近,我的一个the服务器消耗了更多的
内存
,然后我检查了/proc/meminfo,发现AnonPages几乎消耗了所有的
内存
。
浏览 0
提问于2021-11-11
得票数 1
回答已采纳
1
回答
两个相同的虚拟地址如何指向不同的物理地址?
、
、
、
在
Linux
中调用fork()之后,两个进程(一个是另一个进程的子进程)将共享
分配
的堆
内存
。这些已
分配
的页面被标记为COW (复制即写),并将保持共享,直到任何一个进程修改它们。
内存
管理单元( MMU )如何区分两者?请考虑以下几点:进程A被
分配
一个
内存
页
,由虚拟地址0x1234指向进程A和B现在共享虚拟地址0x1234,指向相同的物理
内存
位置 进程B修改其0x1234
内存</em
浏览 0
提问于2015-10-06
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux 内核将弃用并删除 SLOB 内存分配器
Redis 内存分配
内存的分配策略
白话Go语言内存管理--内存分配原理
c语言-malloc分配内存
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券