为了提升c盘存取效率,Linux做了一些悉心的设计,不仅对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache形式:BufferCache和PageCache.后者针对c盘块的读写,前者针对文件inode的读写.这种Cache有效减短了I/O系统调用(例如read深入理解linux虚拟内存管理,write,getdents)的时间.x0dx0a显存活动基本上可以用3个数字来量化:活动虚拟显存总数,交换(swapping)率和调页(paging)率.其中第一个数字表明显存的总需求量,后两个数字表示这些显存中有多少比列正处在使用之中.目标是降低显存活动或降低显存量,直至调页率保持在一个可以接受的水平上为止.x0dx0a活动虚拟显存的总数(VM)=实际显存大小(sizeofrealmemory)(化学显存)+使用的交换空间大小(amountofswapspaceused)x0dx0a当程序运行须要的显存小于化学显存时,Linux系统采用了调页机制,即系统copy一些显存中的页面到c盘上,腾下来空间供进程使用。x0dx0a大多数系统可以忍受时常的调页,并且频繁的调页会使系统性能大幅增长。

x0dx0aLinux显存管理:Linux系统通过2种方式进行显存管理,“调页算法”,“交换技术”。x0dx0a调页算法是将显存中近来不常使用的页面换到c盘上,把常使用的页面(活动页面)保留在显存中供进程使用。x0dx0a交换技术是系统将整个进程,而不是部分页面,全部换到c盘上。正常情况下,系统会发生一些交换过程。x0dx0a当显存严重不足时,系统会频繁使用调页和交换,这降低了c盘I/O的负载。进一步增加了系统对作业的执行速率,即系统I/O资源问题又会影响到显存资源的分配。x0dx0aLinux的虚拟显存是一个非常复杂的子系统,它实现了进程间代码与数据共享机制的透明性,并才能分配比系统现有化学显存更多的显存,个别操作系统的虚存甚至能通过提供缓存功能影响到文件系统的性能,各类风格的Linux的虚存的实现方法区别很大,但都离不开下边的4个概念。x0dx0ax0dx0a1:实际显存x0dx0a实际显存是指一个系统中实际存在的化学显存,称为RAM。实际显存是储存临时数据最快最有效的方法,因而必须尽可能地分配给应用程序,如今的RAM的方式有多种:SIMM、DIMM、Rambus、DDR等,好多RAM都可以使用纠错机制(ECC)。

x0dx0a2:交换空间x0dx0a交换空间是专门用于临时储存显存的一块c盘空间,一般在页面调度和交换进程数据时使用,一般推荐交换空间的大小应当是化学显存的二到四倍。x0dx0a3:页面调度x0dx0a页面调度是指从c盘向显存传输数据,以及相反的过程,这个过程之所以被称为页面调度,是由于Linux显存被平均界定成大小相等的页面;一般页面大小为4KB和8KB(在Solaris中可以用pagesize命令查看)。当可执行程序开始运行时,它的映象会一页一页地从c盘中换入,与此类似,当个别显存在一段时间内空闲,就可以把它们换出到交换空间中linux系统怎么样,这样就可以把空闲的RAM交给其他须要它的程序使用。x0dx0a4:交换x0dx0a页面调度一般容易和交换的概念混淆百度网盘LINUX,页面调度是指把一个进程所占显存的空闲部份传输到c盘上,而交换是指当系统中实际的显存已不够满足新的分配需求时深入理解linux虚拟内存管理,把整个进程传输到c盘上,交换活动一般意味着显存不足。x0dx0avmstat监视显存性能:该命令拿来检测虚拟显存的统计信息,并可显示有关进程状态、空闲和交换空间、调页、磁盘空间、CPU负载和交换,cache刷新以及中断等方面的信息。

深入理解linux虚拟内存管理_linux虚拟内存和物理内存_深入理解linux虚拟内存

本文原创地址:https://www.linuxprobe.com/rhtglcpcqxl.html编辑:刘遄,审核员:暂无