电脑中的物理内存和4g内存虚拟内存设多少不足有什么区别

  4g内存虚拟内存设多少怎么设置最好

  许多所谓优化指南里都特别提到人为的设置这个分页文件大小会有诸多好处云云其实对大多数用户而言,这是一个彻头彻尾嘚伪优化如果没有特殊需求,页面文件大小应当由系统管理系统默认的大小是物理内存的1.5~2倍,至于系统提供给你一个设置大小的选項那是给特殊用户——准确的说就是执行单一任务的用户准备的。而大多数用户在使用电脑时系统执行的任务种类与数量都在频繁的變化,一会儿听歌看视频、一会儿就改成3D游戏了;一边浏览着网页一边说不定就会打开一幅图片PS一番;职业用户更是Word、Excel,3DMax或者AutoCAD一起上茬这种变化不定的多任务情况下,如果你人为的指定了页面文件的大小那就会不时的弹出“您的系统4g内存虚拟内存设多少不足……”或鍺“您的系统4g内存虚拟内存设多少太低,Windows会增加4g内存虚拟内存设多少页面文件的大小”等提示

  另外还有一个伪优化就是将分页文件轉移到其它分区,据称可以减少系统分区的磁盘碎片其实硬盘上第一个分区位于磁盘最外侧,读写最快如果将页面文件转移到第二个汾区甚至最后一个分区,那它的读写速度将远远不如系统分区只能拖慢系统。所以只要你的系统分区有足够的空间,就完全没有必要將页面文件搬到其它分区去

  根据电脑内存的大小和特性,可分为下面几种:

  a、电脑内存小于256M其4g内存虚拟内存设多少应设置为粅理内存的2倍

  b、电脑内存大于256M,其4g内存虚拟内存设多少应设置为物理内存的1.5倍

  c、电脑内存大于512M小于1G的其物理内存以可以满足需求,4g内存虚拟内存设多少可设置为与物理内存同样的值

  d、物理内存等于或大于1G的其物理内存已经相当充足,所需的4g内存虚拟内存设哆少应该减少举个例子来说:电脑的物理内存为1G,这时其4g内存虚拟内存设多少应该设置成512MB最大值则应该设置成3GB以备不时之需。

  建議将初始大小和最大值同时设置为你物理内存的1-2倍比如1G设置为2048MB(1G内存是2倍),2G设置为MB(2G内存是1.5-2倍)3G设置为MB(3G内存是1-1.5倍),4G内存先设置為4096(4G的1倍不够在加)如果你的物理内存小于2G或是2G,建议升级一下你的物理内存(初始大小和最大值设置要一致)

  按照Windows内存管理体系,4g内存虚拟内存设多少一般设置为物理内存1-2倍也就是说,4GB内存4g内存虚拟内存设多少一般是MB。可这对于普通民用电脑来说是没有必要嘚我也是4GB内存,就个人的使用经验来说即便是Vista Ultimate SP1操作系统下,玩孤岛危机之类的大型3D游戏同时开启其他常用软件以及后台等等,也不會超过70%的使用率而Pagefile(4g内存虚拟内存设多少)的使用一般很少超过1GB。建议将4g内存虚拟内存设多少设置为:最小值2048MB最大3072MB。

物理内存4g4g内存虚拟内存设多少設置多少合适?系统是w1064位这个图片怎么填... 物理内存4g4g内存虚拟内存设多少设置多少合适?系统是w10 64位这个图片怎么填

    设置为系统管理的大小。

    你对这个回答的评价是?

操作系统有4g内存虚拟内存设多少與物理内存的概念在很久以前,还没有4g内存虚拟内存设多少概念的时候程序寻址用的都是物理地址。程序能寻址的范围是有限的这取决于CPU的地址线条数。比如在32位平台下寻址的范围是2^32也就是4G。并且这是固定的如果没有4g内存虚拟内存设多少,且每次开启一个进程都給4G的物理内存就可能会出现很多问题:

  • 因为我的物理内存时有限的,当有多个进程要执行的时候都要给4G内存,很显然你内存小一点這很快就分配完了,于是没有得到分配资源的进程就只能等待当一个进程执行完了以后,再将等待的进程装入内存这种频繁的装入内存的操作是很没效率的
  • 由于指令都是直接访问物理内存的,那么我这个进程就可以修改其他进程的数据甚至会修改内核地址空间的数据,这是我们不想看到的
  • 因为内存时随机分配的所以程序运行的地址也是不正确的。

于是针对上面会出现的各种问题4g内存虚拟内存设多尐就出来了。

在之前一篇文章中介绍过一个进程运行时都会得到4G的4g内存虚拟内存设多少这个4g内存虚拟内存设多少你可以认为,每个进程嘟认为自己拥有4G的空间这只是每个进程认为的,但是实际上在4g内存虚拟内存设多少对应的物理内存上,可能只对应的一点点的物理内存实际用了多少内存,就会对应多少物理内存

进程得到的这4G4g内存虚拟内存设多少是一个连续的地址空间(这也只是进程认为),而实際上它通常是被分隔成多个物理内存碎片,还有一部分存储在外部磁盘存储器上在需要时进行数据交换。

进程开始要访问一个地址咜可能会经历下面的过程

  1. 每次我要访问地址空间上的某一个地址,都需要把地址翻译为实际物理内存地址
  2. 所有进程共享这整一块物理内存每个进程只把自己目前需要的虚拟地址空间映射到物理内存上
  3. 进程需要知道哪些地址空间上的数据在物理内存上,哪些不在(可能这部汾存储在磁盘上)还有在物理内存上的哪里,这就需要通过页表来记录
  4. 页表的每一个表项分两部分第一部分记录此页是否在物理内存仩,第二部分记录物理内存页的地址(如果在的话)
  5. 当进程访问某个虚拟地址的时候就会先去看页表,如果发现对应的数据不在物理内存上就会发生缺页异常
  6. 缺页异常的处理过程,操作系统立即阻塞该进程并将硬盘里对应的页换入内存,然后使该进程就绪如果内存巳经满了,没有空地方了那就找一个页覆盖,至于具体覆盖的哪个页就需要看操作系统的页面置换算法是怎么设计的了。

关于4g内存虚擬内存设多少与物理内存的联系下面这张图可以帮助我们巩固。

  1. 我们的cpu想访问虚拟地址所在的虚拟页(VP3)根据页表,找出页表中第三条的徝.判断有效位 如果有效位为1,DRMA缓存命中根据物理页号,找到物理页当中的内容返回
  2. 若有效位为0参数缺页异常,调用内核缺页异瑺处理程序内核通过页面置换算法选择一个页面作为被覆盖的页面,将该页的内容刷新到磁盘空间当中然后把VP3映射的磁盘文件缓存到該物理页上面。然后页表中第三条有效位变成1,第二部分存储上了可以对应物理内存页的地址的内容
  3. 缺页异常处理完毕后,返回中断湔的指令重新执行,此时缓存命中执行1。
  4. 将找到的内容映射到告诉缓存当中CPU从告诉缓存中获取该值,结束

再来总结一下4g内存虚拟內存设多少是怎么工作的

当每个进程创建的时候,内核会为进程分配4G的4g内存虚拟内存设多少当进程还没有开始运行时,这只是一个内存咘局实际上并不立即就把4g内存虚拟内存设多少对应位置的程序数据和代码(比如.text .data段)拷贝到物理内存中,只是建立好4g内存虚拟内存设多尐和磁盘文件之间的映射就好(叫做存储器映射)这个时候数据和代码还是在磁盘上的。当运行到对应的程序时进程去寻找页表,发現页表中地址没有存放在物理内存上而是在磁盘上,于是发生缺页异常于是将磁盘上的数据拷贝到物理内存中。

另外在进程运行过程Φ要通过malloc来动态分配内存时,也只是分配了4g内存虚拟内存设多少即为这块4g内存虚拟内存设多少对应的页表项做相应设置,当进程真正訪问到此数据时才引发缺页异常。

可以认为虚拟空间都被映射到了磁盘空间中(事实上也是按需要映射到磁盘空间上通过mmap,mmap是用来建竝虚拟空间和磁盘空间的映射关系的)

利用4g内存虚拟内存设多少机制的优点 

  1. 既然每个进程的内存空间都是一致而且固定的(32位平台下都是4G)所以链接器在链接可执行文件时,可以设定内存地址而不用去管这些数据最终实际内存地址,这交给内核来完成映射关系
  2. 当不同的進程使用同一段代码时比如库文件的代码,在物理内存中可以只存储一份这样的代码不同进程只要将自己的4g内存虚拟内存设多少映射過去就好了,这样可以节省物理内存
  3. 在程序需要分配连续空间的时候只需要在4g内存虚拟内存设多少分配连续空间,而不需要物理内存时連续的实际上,往往物理内存都是断断续续的内存碎片这样就可以有效地利用我们的物理内存

我要回帖

更多关于 4g内存虚拟内存设多少 的文章

 

随机推荐