腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
1
回答
在ARMv8中,进程的根页表在哪里保存?
、
、
、
、
在ARMv8 Linux中,MMU使用TTBR0_EL1和TTBR1_EL1进行虚拟内存管理。 那么,在ARMv8 Linux中保存的进程的PGD在哪里呢? 在X86中,CR3用于保存进程页表的根,它在进程上下文切换期间进行切换,那么ARMv8中是否有类似的寄存器? 我编写了一个内核模块来检查TTBR0 0/1_EL1中的进程,但是我发现它们在内核模块中是相同的,是不是遗漏了什么? 如何获得特定进程的根页表?
浏览 9
提问于2022-08-18
得票数 1
回答已采纳
1
回答
Linux页面表管理与MMU
、
、
、
我有一个关于linux内核和MMU之间的关系的问题。现在我明白了,linux内核管理虚拟内存地址和物理内存地址之间的页表。同时,在x86体系结构中存在MMU,它管理虚拟内存地址和物理内存地址之间的页表。如果MMU出现在CPU附近,内核还需要处理页面表吗? 这个问题可能很愚蠢,但另一个问题是,如果MMU负责内存空间,谁来管理高内存和低内存?我相信内核将从MMU (32位中的4GB)接收虚拟内存的大小,然后内核将区分虚拟地址中的用户空间和内核空间。我说的对吗?还是完全错了? 提前谢谢!
浏览 3
提问于2014-09-24
得票数 10
回答已采纳
2
回答
扩展页表的用途是什么?
、
、
、
、
我们能用c程序显示页表地址吗?页表和扩展页表有什么区别?
浏览 3
提问于2015-03-16
得票数 0
1
回答
linux分页,使用了大量的页表目录
、
、
我读了一本关于Linux虚拟内存的书Mel Gorman。我读到过,Linux支持3级页表: PGD,PMD和PTE。如果我没有记错的话,在较新版本的内核中,有四个页表级别: PUD,但这无关紧要。我有一个合理的问题。为什么Linux开发人员选择3(或4)级页表而不是使用1级?只使用一个全局页表(我指的是每个进程的全局页表)将减少内存引用的数量。 对不起,我的英语不好。
浏览 2
提问于2015-12-21
得票数 0
1
回答
我能用一个过程中的PTEs来表示物理记忆的片段,在另一个过程中创建合适的PTEs吗?
、
、
、
、
当我们在Linux中使用函数mmap (,,, MAP_ANON | MAP_SHARED);时,对于同一区域的物理内存(在进程之间分配的)是分配虚拟内存页(PTEs)。这些PTE从一个进程的页表复制到另一个进程的页表(具有相同的物理地址分配内存片段序列),这是真的吗? 但是mmap ()需要在fork ()之前完成。如果我们已经有了两个工作过程(即fork ()之后),那么我们需要为mmap()使用一个文件。哪些函数用于在两个已经建立的进程之间复制PTE的机制以创建共享内存? 我能用PTEs /SGL(分散-聚集-列表)来指示物理内存的碎片,这些内存被分配给使用linux内核在其他进程中创建
浏览 1
提问于2013-12-01
得票数 1
1
回答
Linux是否对页目录和页表使用自映射?
、
、
、
我之所以问这个问题,是因为我很好奇Linux内核是如何工作的。根据的说法,Windows在其页目录和页表中使用了名为self-map的特殊条目,以便能够操作来自内核虚拟地址空间的页目录/表内容。如果有人熟悉Linux内存管理,请告诉我Linux内核处理这个问题的方式是相似的还是不同的。谢谢。
浏览 1
提问于2011-03-11
得票数 3
回答已采纳
1
回答
Linux如何在x86-64中支持超过512 in的虚拟地址范围?
、
、
、
Linux的x86-64用户虚拟地址空间是47位长。这本质上意味着Linux可以映射大约128TB虚拟地址范围的进程。 然而,让我困惑的是,x86-64架构支持ISA定义的每个进程的4级分层页表(排列为基数树)。页表的根只能映射最多512 GB的连续虚拟地址空间。那么Linux如何支持超过512 So的虚拟地址范围呢?它是否为每个进程使用多个页表?如果是,那么对于一个进程,对于任何给定的进程,CR3 (x86-64的寄存器,以包含页表基址的地址)应该包含什么?我是不是遗漏了什么?
浏览 0
提问于2012-06-28
得票数 6
回答已采纳
1
回答
是否可以在linux计算机上查看页表
、
、
最近我读到页表是每个进程的实体,我在想在Linux机器上查看特定进程的页表是可能的吗?我读到在一些寄存器中有对页表的引用?
浏览 3
提问于2014-04-03
得票数 0
1
回答
页表总是在内存中吗?页表会被换出吗?
、
、
我认为页表是由Linux内核维护的,所以页表所需的内存不应该被换出,因为内核没有页故障的事情。但是,如果pgd、pmd、pte表都在主存中并且不会被换出,那么多级分页的意义并不能节省任何内存。 因此,我对页表本身的管理方式感到困惑。
浏览 18
提问于2014-09-10
得票数 3
2
回答
在“分叉”进程的同时,为什么Linux内核要为每个新创建的进程复制内核页表的内容?
、
、
、
、
下面的讨论适用于32位ARM Linux内核。 我注意到在分叉过程中,Linux内核将内核页表(母版页表,即swapper_pg_dir) )的内容复制到每个新创建的进程的页表中。 问题如下: 为什么要费心这么做呢? 为什么所有进程都不能共享内核页表的一个副本(对于32位ARM Linux的higer 1G部件),而不能为每个新创建的进程共享一个交换页表? 这是在浪费记忆吗? 相关源代码(“->”表示函数调用): do_fork -> copy_process --> copy_mm -> dup_mm --> mm_init --> m
浏览 4
提问于2014-12-01
得票数 3
回答已采纳
1
回答
访问不是ram但磁盘上的i/o的文件系统缓存已经发出。
、
、
Linux有一个文件系统缓存,它将尽可能多的数据作为缓冲区保存在RAM中。 线程试图读取文件系统中的页面块。如果页面在缓存中,它将从缓存(缓存命中)获取数据。否则,它会发出页面的磁盘i/o请求并等待(缓存丢失)。 但是,当多个线程(或处理器)读取同一个页面块时,我认为还有一种情况;该页不在缓存中,但页的i/o请求已经发出。在这种情况下,不会再次发出磁盘i/o,但是线程应该等待从磁盘读取页面。 Linux的文件缓存是否具有此属性?你这是什么意思?
浏览 0
提问于2016-07-29
得票数 1
1
回答
ARM MMU和ARM Linux页表漫游
、
、
我对linux如何利用ARMv7内存管理单元硬件来实现它的3级页表遍历有点困惑。MMU只有2个寄存器ttbr0和ttbr1 (一个用于内核,另一个用于用户空间)。mmu如何知道linux的多级页表漫游? 谢谢,Hvr
浏览 0
提问于2015-01-19
得票数 1
2
回答
每个进程的页表是否包含映射到内核地址空间的条目?
、
在Linux中,每个进程都有一个页表,它将用户地址空间映射到物理页帧。 每个进程的页表是否包含映射到内核地址空间的条目? 如果是,则所有进程的页表映射同一地址中的一个内核镜像。这意味着所有的表都包含相同的内核地址条目。是不是很浪费?
浏览 20
提问于2015-10-23
得票数 1
1
回答
Linux分页模型是一种抽象吗?
、
、
、
、
我目前正在阅读理解Linux内核第三版的,我正在阅读关于内存寻址的第2章。首先,这本书涵盖了32位分页、PAE 32位和PSE (我们在这里讨论的是x86 )。更具体地说,线性地址的剖析和什么位是什么表,偏移等.我开始对Linux中的分页模型感到困惑。有一次,这本书谈到了目录、表和偏移位的线性地址(用于PAE的PDPT表),然后我被抛到了"Linux“分页的世界里。现在,在Linux分页中,他们谈到了带有表和偏移量的全局表、上层表和中间表?我不认为x86 MMU分页与这个新的Linux模型有什么关系。如果MMU负责转换(分页)地址,为什么内核也需要这个分页模型?看起来内核应该把它留给M
浏览 9
提问于2022-02-05
得票数 2
回答已采纳
1
回答
x86平台中KVM卷影页表的处理
、
、
、
、
据我所知,在没有硬件支持来宾虚拟到主机物理地址转换的处理器上,KVM使用影子页表。 当来宾操作系统修改其页表时,会构建并更新影子页表。硬件中是否有修改页表的特殊指令(以x86为例)?除非有特别指示,否则VMM不会有陷阱。在软件中由Linux内核维护的页表不就是另一种数据结构吗?为什么它需要特殊的指令来更新它? 谢谢!
浏览 2
提问于2013-01-06
得票数 8
回答已采纳
1
回答
在html-pdf库中重复表头,同时根据node.js中的数据创建
、
、
我有一个通过创建PDF来打印多个表的场景。也就是说,我将4个表放在一起,第三个表的行数会导致页面更改。在打印该特定表的行之前,我还想在下一页中重复该表的标题。对于4个表中的任何一个表,如果表的数据扩展到另一个页面,它也应该对下一页上的当前表重复标题。这有可能吗?任何专家,请您建议我,因为我真的在寻找它。 我正在研究node.js来执行这个任务。目前正在使用这个图书馆- "html-pdf": "3.0.1"
浏览 7
提问于2022-11-01
得票数 0
1
回答
64位Linux内核如何在兼容性模式下管理32位应用程序的页表?
、
、
目前,我正在读“理解Linux内核”一书。在此,据说: 对于没有物理地址扩展的32位架构,两个分页级别就足够了.Linux本质上消除了和字段,因为它们包含零位。但是,页面上目录和页中间目录在指针序列中的位置保持不变,以便相同的代码可以在32位和64位架构上工作。内核通过将页面上目录和页中间目录中的条目数量设置为1,并将这两个条目映射到的适当条目来为它们保留一个位置。 因此,具有4级分页的64位Linux内核的页表层次结构如下所示: PML4 (Linux: PGD) -> 512 * PDPT (Linux: PUD) -> 512 * PD (Linux: PMD) ->
浏览 0
提问于2018-02-27
得票数 3
1
回答
Linux分页: linux如何折叠页面上目录和页中间目录?
、
、
我正在阅读“理解Linux内核”一书,我想知道Linux如何在3级或2级分页系统中折叠paging或Page中间目录。 根据我的理解: Linux有4级分页功能:页面全局目录、页面上层目录、页面中间目录和页面表。(分页单元)通过分析线性地址中的相应字段并查询相应的页表条目,在页面全局目录中自动定位页面帧。用于2级寻呼系统的、page和Page中间目录都在page中获得一个特定条目。。 这在我看来是自相矛盾的:如果上述三个假设是正确的,就意味着地址翻译将通过以下条目进行: Page Global Directory Entry -> (Singleton) Page Upper Direc
浏览 1
提问于2020-11-28
得票数 0
回答已采纳
1
回答
x86指令是否要求自己的编码以及所有参数同时存在于内存中?
、
、
、
、
我试图弄清楚是否有可能运行一个只由一个物理页面支持RAM的Linux。 为了模拟这种情况,我修改了KVM中的嵌套页面错误处理程序,以从所有嵌套页面表(NPT)条目中删除当前位,但与当前处理的页面错误对应的项除外。 在尝试启动Linux来宾时,我注意到使用内存操作数的程序集指令,如 add [rbp+0x820DDA], ebp 导致页面错误循环,直到我恢复包含指令的页以及操作数中引用的页的当前位(在本例中为[rbp+0x820DDA])。 我想知道为什么会这样。CPU不应该按顺序访问内存页,即先读取指令,然后访问内存操作数?还是x86要求指令页和所有操作数页同时可访问? 我正在测试AMD Ze
浏览 3
提问于2020-04-01
得票数 69
回答已采纳
1
回答
linux中使用分页的最大进程数
、
我听说linux中的最大进程(任务)数是这样计算的 “线程数=总虚拟内存/(堆栈大小*1024*1024)” 然而,我很好奇,因为页表不能被页出 而且每个进程都需要自己的页表(包括页目录)。 我认为这可能是限制操作系统中进程数量的一个因素。 我是对还是错?
浏览 2
提问于2012-07-16
得票数 0
1
回答
Linux进程的跟踪页表访问
、
、
、
、
我写信询问追踪普通Linux用户应用程序的页表访问(根据每个页表访问的“索引”)的可行性。基本上,我所做的是重新生产这篇研究文章()中提到的开发.特别是,需要记录数据页访问,以用于程序机密的使用和推断。 我了解Linux系统的64位x86架构,页面表的大小是4K.我使用pin ()记录所有虚拟内存访问的地址跟踪。因此,我可以简单地计算每个数据表访问的“索引”,使用以下转换规则吗? index = address >> 15 从4KB = 2 ^ 15开始。这是正确的吗?谢谢您的任何建议或意见。 另外,我想我要指出的一点是,在概念上,我不需要每个数据页表ID的“精确”标识符,而只需
浏览 7
提问于2020-05-05
得票数 0
回答已采纳
1
回答
计算页面和页面表的大小
、
、
、
物理地址是32位,并且虚拟地址被分成10位“偏移”,2位“字节可寻址”,剩下20位用于识别页面。 页面和页表的大小是多少? 我相信它: 2^10 = 1024。 保留页为2^2 =4 我不确定如何使用寻址能力…… 再次感谢各位:)
浏览 2
提问于2012-05-22
得票数 0
回答已采纳
1
回答
AutoScaleMode.Inherit不继承
、
、
、
、
我在一个表页中包含了一个用户控件。表单设置了AutoScaleMode = AutoScaleMode.Font,UserControl设置了AutoScaleMode.Inherit。 现在,当我放大表单的字体大小时,字体也会在用户控件中放大,但是控件的内容不会缩放。如果我在用户控件上显式设置了AutoScaleMode.Font,那么它就能正常工作。 AutoScaleMode.Inherit不应该这样工作吗?
浏览 2
提问于2010-03-23
得票数 1
1
回答
谁决定页表和页面大小?OS还是MMU?
、
随着物理内存容量的变化,页表大小也随之变化,随着进程数的变化,页表大小也随之变化。到底是谁决定的呢?OS还是MMU?如果是操作系统,LINUX和Windows之间有什么不同?
浏览 1
提问于2013-03-21
得票数 1
回答已采纳
2
回答
如何将页表的虚拟地址转换为其实际物理地址?
、
、
如果在OS中启用分页,则使用页表将虚拟地址映射到实际物理地址。更具体地说,考虑X86上的Linux32位操作系统,cr3寄存器具有页面表目录的起始地址。我想这是个虚拟地址。CPU将如何将此虚拟地址映射到RAM中页表目录的物理地址。该地址转换将使用哪个页表?
浏览 2
提问于2015-03-12
得票数 1
回答已采纳
1
回答
当网格视图转到下一页时,更新的文本(TextBox)丢失
、
、
我已经创建了一个网格视图来填充数据,并创建了一些用户控件(TextBox)来更新数据和网格视图分页。在底部有一个更新用户输入的按钮。该表基本上是从表中填充名称,文本框用于更新该名称。 表格 123456..>> 按钮 当我转到下一页时,我从上一页插入的数据丢失了。 有没有办法在我导航到下一页时保留数据?
浏览 0
提问于2009-08-19
得票数 1
回答已采纳
1
回答
wkhtmltopdf复制下一页的表行
我使用Linux上的wkhtmltopdf (AWS )将包含表的HTML转换成一个PDF文件。通常情况下,当表在第1页结束之前开始,到第2页结束时,它工作得很好,但是它有问题。表标题在第2页的一行上重复。 我能做些什么来防止这个问题? $ ./wkhtmltopdf --version wkhtmltopdf 0.12.3-dev-79ff51e (with patched qt)
浏览 0
提问于2018-08-29
得票数 0
1
回答
使用pte_map_offset映射页表
、
我正在做一些linux内核的工作,并且我正在同时迭代三个不同页面目录的页表。当我需要映射页表时,我使用了pte_offset_map。然而,我意识到在启用高内存的情况下,这种方法将不起作用,因为pte_offset_map将尝试使用相同的kmap插槽(在Linux2.6.32中,pte_offset_map使用kmap_atomic )。我看到有一个使用另一个kmap_atomic插槽的pte_offset_map_nested。 但是,我需要一次映射三个不同的页表。我已经想出了一些解决方案,只需要一次映射两个页表(我可以来回交错,同时只映射两个,或者在映射其他两个时临时复制一个页表,等等)但
浏览 3
提问于2011-11-21
得票数 1
1
回答
linux内核中的内存映射
、
在linux内核中,同一物理页帧是否可以同时多次映射到一个进程的虚拟内存空间? 换句话说,在此过程中有多个页表条目指向同一个物理页。
浏览 5
提问于2014-01-24
得票数 2
回答已采纳
1
回答
在vfork()系统调用中不复制页表条目有什么好处?
、
vfork()系统调用的效果与copied.Today ()相同,只是父进程的页表条目不是entries.If,具有复制即写和子运行的优先语义,vfork ()的唯一好处是没有一天复制页表entries.If Linux获得复制到写入页面的表条目,这样就不再有任何好处了。 以下是罗伯特·洛夫( Robert )关于“Linux内核开发”()一书中的几句话。我不明白的是,不复制页面表条目有什么好处? 还有一行内容是:“在copy_process()中,task_struct成员vfork_done设置为NULL”。 这是什么vfork_done?它的功能是什么?
浏览 0
提问于2017-09-09
得票数 0
1
回答
linux中的三层页表
、
我知道linux在内存管理中使用三个级别的页面表。 我对页面的内容感到困惑,table.Does页面表包含下一级页面表、基地址还是包含页面帧号? 如果它包含页帧号,那么如何获得该特定页表的基地址?它存储在哪里? 如果有人向我澄清了这件事,那就太好了。
浏览 1
提问于2012-09-03
得票数 1
回答已采纳
1
回答
如何在itext7中检查表格是否适合当前页面或被拆分为两个页面
、
我正在尝试用itext7在PDF文档中创建一个表。但是,如果表格之前的内容太大,表格就会在当前页和下一页之间拆分。我想插入一个- document.Add(new AreaBreak()) 如果当前页中没有足够的空间用于完全插入表,则返回。但是,我不知道如何计算可用空间。 任何帮助或指示将非常感谢。
浏览 6
提问于2018-06-07
得票数 1
2
回答
Linux中的页表
、
、
、
问题1 :-在引导过程中,Linux创建页表。但是,当执行新进程时,它也有自己的页表。这两个表有什么不同? 问题2:在linear上,x86使用定义良好的方案(包括页目录、页表项等)将线性地址转换为物理地址。假设我们在进程地址空间A中有一个线性地址X,当使用页表进行转换时,它对应于物理地址Y。还有一些其他进程B,它也具有属于它自己的地址空间的有效线性地址X。现在,如果进程B想要访问X,X会再次对应于相同的物理地址Y吗?
浏览 1
提问于2011-01-25
得票数 1
回答已采纳
1
回答
如何扩展(4MB)和常规分页(4KB)共存?
、
、
在x86体系结构中,“扩展分页”允许页帧(物理内存)为4MB而不是4KB。 “理解Linux内核,第3章”第2章“内存寻址”一书“Linux中的寻呼”一节“内核页表”解释说,对于RAM小于896 MB的最终内核页表: ...内核可以通过使用大页面来处理内存(请参阅本章前面的“扩展分页”一节)。 然而,在“扩展寻呼”一节(“硬件分页”)中写着: 扩展分页与常规分页共存。 实际上,我不明白扩展分页和常规分页是如何共存的。请有人解释一下这些问题: 在何种情况下,内核使用4MB页?还是4 KB页? 哪些页面帧大小将用于kmalloc操作?为了vmalloc? 如果我们假设初始代码和数据(内核的段、临时
浏览 0
提问于2012-06-13
得票数 6
1
回答
在x86-64体系结构中分页
、
、
、
、
在操作系统的32位实现中,页表具有固定的结构(页面目录和页表两级)。但是在x86_64系统中,通常有多个层次的页面表实现(4在Linux中)。系统如何知道使用了多少级别?这需要什么命令?我们如何让CPU知道全局页面目录和其他结构?
浏览 2
提问于2015-05-02
得票数 2
1
回答
linux中关于线程的混淆
我知道在线程和处理linux之间没有什么特别的区别,除了在线程切换期间保持cr3寄存器不变,在进程切换期间保持tlb刷新。 由于groud中的线程共享相同的地址空间,并且没有改变pgd(页表),这意味着整个内存布局是共享的,因此堆栈空间也被共享,但根据通用定义线程拥有自己的堆栈,这在linux中是如何实现的。 如果它像threadA一样有来自x-y范围的堆栈,那么在第一个页面缺省发生时,页表被更新,类似地,使用u-v范围的threadB将更新相同的页表。因此,可能会把threadA中的threadB堆栈搞乱。 我只想弄清楚这一点,帮我out.Is一下线程的安全实现?
浏览 1
提问于2011-06-14
得票数 0
1
回答
何时将进程的页表加载到内存中?
、
、
我想知道操作系统何时将特定进程的页表加载到主内存中?是在进程被调度的时候吗?操作系统能够直接将进程页表加载到主存中吗? 我有一个想法:除非处理器生成对应于页面的页面错误,否则任何东西都不会进入主内存。同样的情况也适用于页表吗?或者我的想法是错误的。 PS:如果答案可以具体针对基于Linux的系统,我们会非常感激的。
浏览 0
提问于2016-07-19
得票数 1
1
回答
fork产生的唯一开销是页表复制和进程id创建。
、
、
、
、
fork()产生的惟一开销是复制父进程的页表并为子进程创建唯一的进程描述符。在Linux中,fork()是通过使用写时复制页面实现的。写时复制( COW)是一种延迟或完全阻止数据复制的技术。 那么为什么需要复制页表呢?只要进程以只读模式共享页面,或者直到它们写入某些内容,就不需要复制页表,因为父进程和子进程的转换是相同的。 有人能解释一下..。 提前感谢
浏览 2
提问于2013-05-24
得票数 8
1
回答
页表的条目是表示页面还是线性地址?
我读了“理解linux内核”一书,关于地址转换的话题让我非常困惑。书上说,每个线性地址有三个字段:目录、表和偏移量。“目录”字段与“目录表”相关,“表”字段与“页表”相关。 它没有指出,或者我可能会遗漏的一点是,表中的每个条目是与一页有关,它是一组线性地址,还是与单个线性地址有关。 有人能帮我吗?
浏览 6
提问于2015-04-24
得票数 1
回答已采纳
2
回答
linux内核出现分段故障后会发生什么?
、
、
当我考虑进行网络分页(从远程节点请求出错的分页)时,我得到了这个问题: 首先,让我们考虑以下步骤: 1)用户空间程序试图访问内存X。 2) MMU遍历页表,查找X的物理地址。 3)在遍历页表时,注意到页表条目无效。 4) CPU陷阱并被Linux陷阱向量捕获。(在ARM情况下,但我认为x86也是一样的,对吧?) 5)此时,我可以从远程节点检索适当的数据,复制到某个物理地址,并将其映射到页表中。 6)这里有一个问题:在这一点之后,在X处有页错误的程序是否可以安全地读取数据?那么,这是否意味着MMU或CPU以某种方式记住了有页错误的页表条目,并返回到该条目并继续页表的遍历? 如果有任何步骤不正确,
浏览 8
提问于2013-08-09
得票数 0
2
回答
基于内存管理的linux内核x86分页
、
、
、
、
在linux arch中,x86内核2.6.x,32位系统 我知道虚拟地址0xC0000000 ~ 0xFFFFFFFF 是为内核保留的。 并且该虚拟地址可以被转换为物理地址 减去0xC0000000。 然而,我认为即使结果是一样的,MMU也会翻译 通过遍历页表将内核虚拟地址(如0xC0851000)转换为物理地址。 比如 CR3 ->页目录->页表-> PFN. 我是对的还是错的?如果我错了,请纠正我。 我需要在x86,Linux32位系统中开发基于硬件的内核监视器。 所以我需要知道这个问题 请帮帮忙。
浏览 0
提问于2012-07-23
得票数 2
回答已采纳
1
回答
除了物理磁盘的页面之外,数据缓存还能包含什么?
、
在设置statistics io选项时,我看到了这个结果 📷 physical_reads为0,预读读取为276,这意味着磁盘驱动器上的表中有276页位于数据缓存中,但从数据缓存读取的数据总数为794页,如逻辑读取中所示。那么,除了来自磁盘驱动器的表页之外,数据缓存中还保存着什么呢? 谢谢。
浏览 0
提问于2018-10-09
得票数 2
回答已采纳
1
回答
是否可以将页表的位置更改为另一个NUMA节点?
、
、
、
、
您好,我正在学习linux内核的内存管理。 我的机器有多个NUMA节点,我想知道是否可以将页表的位置从NUMA0更改为NUMA。我研究了一下,在页表初始化时,CR3寄存器有指向页表初始化位置的指针。位置在NUMA 0(第一个NUMA节点)的内存(内核空间)上。 那么在初始化时,我可以将页表的位置设置为NUMA N吗? 如果可能,内核修改是我应该做的全部工作,还是需要做更多的工作? 我使用的是x86_64处理器和centos7.7
浏览 19
提问于2020-10-29
得票数 0
2
回答
PHP:防止Mysql中的重复标记
、
我有这样的标签的MySql表: | id | name | | 1 | Linux | | 2 | Windows | | 3 | Unix | | 4 | Dos | | 5 | FreeBSD | 在“新闻页”中,用户添加如下新标记: Linux,OpenBSD,Test 现在,Linux之前添加了,所以我需要添加ONLY OpenBSD和Table。我的意思是:如果用户标签是新的,如何标记INSERT?!
浏览 5
提问于2014-05-27
得票数 2
回答已采纳
5
回答
如何查找或计算Linux进程的页表大小和其他内核记帐?
、
、
、
如何才能知道Linux进程的页表有多大,以及其他任何可变大小的进程记帐?
浏览 0
提问于2009-05-12
得票数 7
1
回答
共享内存分页和分叉
、
如果父进程与另一个进程共享一些页面,而我们派生了父进程。据我所知,孩子复制页表,我们将页面设置为只读,并执行写入时复制。但如果我们写入共享内存页,这将创建一个共享内存页的副本,这是错误的。Linux内核如何避免这种情况?
浏览 1
提问于2012-11-16
得票数 4
回答已采纳
5
回答
Linux内核有自己的页面表吗?
、
、
不同的进程对于其地址空间有不同的页表。 Linux内核有自己的页面表吗?如果没有,如何将内核的虚拟地址转换为物理内存地址? 在每个进程的地址空间被划分为用户空间和内核空间的意义上,每个进程的页面表是否包含内核的“页表”? 谢谢。 相关页面错误、页面替换和分页是发生在内核上还是仅发生在进程、内核空间还是用户空间?
浏览 0
提问于2018-10-15
得票数 4
1
回答
将网页从服务器2003迁移到Ubuntu+Apache - doable?
、
、
我们有一个运行IIS 6.0的旧服务器2003,我希望它能退役并转移到我们的主要托管平台(它运行UbuntuLucidandApache2.2.14,带有php5.3-ish)。如果可能的话,我正试图找到一种解决方案,把旧的网站翻过来。我可能想在这里重新发明方向盘,不确定。 关于IIS的Webages是旧的。很老了。其中大多数都是古老的、地理城市风格的HTML (但没有ASP.Net )。有些人使用Frontpage扩展。default.htm可能不会被解释为索引页。让我们假设这不是一个问题,我们把更新代码的任务留给用户。这些网站后面没有任何数据库。 假设我已经在Linux端创建了vhost,
浏览 0
提问于2015-10-19
得票数 1
2
回答
使用syslog函数在数据库中插入日志值
、
、
、
如何使用ubuntu linux中的syslog函数(Rsyslogd)将日志数据插入到c语言的mysql/postgresql数据库表中。如果有人知道关于这方面的好的信息来源,请让我知道。谢谢
浏览 1
提问于2011-05-02
得票数 0
1
回答
关于内核虚拟地址布局的问题
、
、
在x86和x64系统中,关于内核的虚拟地址布局有两个问题。 据我所知,x86使用的是高内存和低内存布局。 如果我的理解是正确的,那么highmem和lowmem之间唯一的区别就是它是否有1:1的虚拟地址到物理地址映射。 另外,lowmem包含内核程序经常访问的代码和数据,highmem包含不经常访问的页面表或用户级程序数据。 但是,我无法理解为什么x86内核会分割虚拟地址空间,并将频繁访问的数据和代码定位到较低的位置。它的优点是什么?似乎无论内核内存的位置如何,都应该调用页表遍历来获得虚拟到物理映射。如果它是正确的,它似乎没有优势的高和低。 这里,我的第一个问题是,如果lowmem使用1:1映
浏览 0
提问于2017-04-07
得票数 0
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
细说|Linux Out Of Memory机制
linux内核机制之设备树
MySQL-锁机制之表锁
战略图卡表指导手册下载(共45页)
分库分表的事务处理机制
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
实时音视频
活动推荐
运营活动
广告
关闭
领券