A. 交换区和虚拟内存有什么不同
交换空间和虚拟内存的区别在于使用的系统不一样,产生的技术手段不一样,以下是详解,希望对你有所帮助!
交换空间:
Linux 中的交换空间(Swap space)在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移到交换空间去。虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,它比进入物理内存要慢。
交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。
交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。
虚拟内存:
虚拟内存是文件数据交叉链接的活动文件。是WINDOWS目录下的一个"WIN386.SWP"文件,这个文件会不断地扩大和自动缩小。
就速度方面而言,CPU的L1和L2缓存速度最快,内存次之,硬盘再次之。但是虚拟内存使用的是硬盘的空间,为什么我们要使用速度最慢的硬盘来做为虚拟内存呢?因为电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致我们只有可怜的256M/512M内存消耗殆尽。而硬盘空间动辄几十G上百G,为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用。
B. 交换区和虚拟内存是一样的吗
1、应用中的概念。
物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了。看机器配置的时候,看的就是这个物理内存。
虚拟内存,这个概念就要稍微了解一下CPU了,^_^,只是稍微,毕竟我们现在谈的是应用中的概念。我们应该知道,对于一般的32位CPU,有32根地址线,那么它的寻址空间就是4GB。也就是说,如果没有其他的限制,我们的主板上最大可以安装4GB的物理内存。哈哈,一般的机器是不会装那么多物理内存的,大把的银子啊,性价比可合不上。程序员可不管这个,我们对CPU编程,不能一台机器根据你物理内存的大小我编一个程序吧?那也太原始社会了吧。所以程序员都是直接使用的4GB的奢侈的进程空间(或许,不应该用奢侈这么短视的词。曾几何时,128M的物理内存也是我们不可想象的呢?)。这怎么办?总不能不用那些程序了吧。好吧,这个问题交给OS去解决吧。这样,OS就提出了一个虚拟内存的概念。就是进程、用户、不必考虑实际上物理内存的限制,而直接对4GB的进程空间进行寻址。如果所寻址的数据实际上不在物理内存中,那就从“虚拟内存”中来获取。这个虚拟内存可以是一个专门文件格式的磁盘分区(比如linux下的swap分区),也可以是硬盘上的某个足够大的文件(比如win下的那个i386文件,好像是这个名字)。物理内存中长期不用的数据,也可以转移到虚拟内存中。这样的交换由OS来控制,用户看起来就好像物理内存大了一样。有了虚拟内存的概念,我们就可以自由的使用4GB的进程空间了。但是,前提是你的硬盘由足够的空间,而且你舍得划分出(4GB-物理内存)大的虚拟内存空间来。^_^。一般情况下,虚拟内存的大小,各个OS也进行了限制(比如linux的swap分区的大小,win下也可以调整虚拟内存文件的大小和位置)。所以,我们程序所能使用的存储空间大小就是:物理内存+虚拟内存。
2、CPU中的概念。
物理内存,CPU的地址线可以直接进行寻址的内存空间大小。比如8086只有20根地址线,那它的寻址空间就是1MB。我们就说8086能支持1MB的物理内存。即使我们安装了128M的内存条在板子上,我们也只能说8086拥有1MB的物理内存空间。同理32位的386以上CPU,就可以支持最大4GB的物理内存空间了。
虚拟内存,这便是一个和CPU的寻址方式有关的一个概念了。x86体系结构中,为了更好的管理内存空间,采用分段的方式来对内存进行寻址。比如8086就用两个字节的段基地址和两个字节的偏移地址来寻址整个可以寻址的内存空间,即:0000:0000方式(具体怎么计算出实际的地址,参见各种汇编教材)。这样,对整个1MB的物理内存空间寻址是没有问题了。可是,用这种方式,最大可以寻址到10FFEF这个地址。这超出了20根地址线的地址的FFEF大小的空间,就可以说是8086的虚拟内存了,所以可以说8086的虚拟内存地址空间可以达到10FFEF。^_^,具体怎么使用和看待这段内存,还取决于A20线的选通与否了,这是另外的话题了。同样的道理,386以上的CPU,由于在保护模式下使用了GDT和LDT,将段的定义放到了内存中,从而可以使用16位的段地址和32位的偏移地址。这样算来,386以上的CPU的虚拟内存地址空间就可以达到64TB了。真是大的惊人,看来,这么大的地址空间,一时还不能被软件的发展淘汰 .
3、零碎的叫法。
零碎的叫法常常来自与相对感觉深奥诙涩的虚拟内存概念。物理的东西,人们大多不去碰它,毕竟是实实在在存在的。而虚拟内存就经常有别冒名顶替的。“一个进程有4个GB的虚拟内存”这样的说法屡见不鲜,其实,这是混淆了4GB的进程地址空间和虚拟内存这两个概念。也算令一种解释吧,毕竟那4个GB也是见不着影的,也是虚拟的。
虚拟内存:
虚拟内存指在硬盘中开辟出的、用于辅助物理内存交换数据的那部分空间,在WINDOWS中可以指定其大小,也可以让WINDOWS自动调节。
进入“控制面板/系统/高级/性能/设置/高级/虚拟内存/更改”,来到虚拟内存设置窗口,首先确定你的页面文件在哪个驱动器盘符,然后将别的盘符驱动器的页面文件全部禁用。建议你把它是设置到其他分区上,而不是默认的系统所在的分区,这样可以提高页面文件的读写速度,有利于系统的快速运行。根据微软的建议,页面文件应设为内存容量的1.5倍,但如果你的内存比较大,那它占用的空间也是很可观的,所以,建议如果内存容量在256MB以下,就设置为1.5倍,最大值和最小值一样,如果在512MB以上,设置为内存容量的一半完全可行。
交换区:
一块内存区域或硬盘区域,用来处理数据交换.
C. 什么叫物理内存、虚拟内存和交换区
物理内存指的是你的内存条大小,开始/运行/dxdiag 回车
就可以看到你这台计算机的内存大小了!显卡从这里也能看到!
如果提示虚拟内存不够,那你就应该自己设置一下!
拟内存就是计算机拿出一部分硬盘的空间来充当内存,当内存的储存满时,CPU会自动调用硬盘的空间来充当内存,以缓解内存的空间。比如说,如果电脑有200MB物理内存的话,当占用一个为300MB的文件时,就要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了 !
也就是说虚拟内存是硬盘上的,
我的电脑右键\属性\高级\性能\设置\高级\虚拟内存\更改
一般是比原来值大1.5倍到2倍为益
虚拟内存的概念是相对于物理内存而言的,当系统的物理内存空间入不敷出时,操作系统便会在硬盘上开辟一块磁盘空间当做内存使用,这部分硬盘空间就叫虚拟内存。Windows 98中采用Win386.swp文件的形式,而Windows 2000/XP则采用页面文件pagefile.sys的形式来管理虚拟内存。
一、大小情况
1.一般情况
一般情况下,建议让Windows来自动分配管理虚拟内存,它能根据实际内存的使用情况,动态调整虚拟内存的大小。
2.关于最小值
Windows建议页面文件的最小值应该为当前系统物理内存容量再加上12MB,而对于物理内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些:
①使用128MB或者更少内存的用户,建议将当前物理内存容量的1.75倍设置为页面文件的最小值。
②内存大小在128MB到256MB之间的用户,建议将当前物理内存容量的1.5倍设置为页面文件的最小值。
3.关于最大值
一般来说,页面文件的最大值设置得越大越好,建议设置为最小值的2到3倍。
4.极端情况
假如硬盘空间比较紧张,在设置页面文件时,只需保证它不小于物理内存的3/4即可。
D. 虚拟内存和swap分区的关系
linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由你自己决定的。Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,我们为什么需要Swap呢?当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。 如果你有足够大的物理内存,根本不需要划分Swap分区。通过上面的说明,你该知道tmpfs使用的存储空间VM是什么了吧? 前面说过VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size ofSwap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
df命令:
检查linux服务器的文件系统的磁盘空间占用情况
查看分区的文件系统 parted 分区
tmpfs大小小于实际内存大小(共享内存基于它实现,有待进一步研究):
VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M
一般情况下,是配置的小于物理内存大小的。
tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。
当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。
E. 虚拟内存和交换区有什么区别能否增大虚拟内存大小
如果你喜欢玩大中型游戏以上,或经常使用3D软件时,而内存条(包括显存)容量又不够大,系统会经常提示说虚拟内存不够,至使经常卡机死机。这时,设置虚拟内存就显得更加重要。
虚拟内存就是电脑在运行程序的过程中,不够内存用时,电脑便会从硬盘上开辟磁盘空间当做内存使用而不至于实时卡机或死机,这部分硬盘空间就叫虚拟内存。
十分详细的简单的设置方法如下:
①右击桌面上的“我的电脑”--属性--高级--点击“性能”区域的“设置”--点击“高级”选项卡--点击“虚拟内存”区域的“更改”。
②在驱动器列表中选系统盘符(一般为C盘),然后勾选“无分页文件”项,再单击“设置”按钮。
③然后在驱动器列表中选中一个有较大空闲容量的分区(如D盘或E盘或F盘)--选择“自定义大小”选项,将具体数值填入“初始大小”、“最大值”栏中。
④推荐初始大小设为你电脑内存条容量的1.5倍,最大值设为内存条容量的3倍(如果你的内存条容量256M的设为384和768,如果你的内存条容量512M的设为768和1536,如果你的内存条容量1G的设为1536和3072)。提示:虚拟内存只是暂时调用硬盘的容量,所以你放心,它不会永远占用你硬盘的容量。
⑤点击“设置”,再点击“确定”,最后重新启动电脑,虚拟内存设置就会生效。
F. 什么是物理内存,核心内存,虚拟内存,缓存,交换区都各有什么用占用率与什么有关
windows
7的内存管理机制要优于win
xp及vista,占用大并不意味着资源就低,放心好了,我的笔记本开机内存占用要到55%呢,运行程序一样没问题的.要不是经常运行大型软件,比如photoshop啥的,没必要扩内存.
G. 物理内存,虚拟内存和交换区各是什么
物理内存j就是你家的真实内存当然是越高越好、 交换区就是你内存整理的时候,会把部分内存的东西,先暂时放在硬盘的某些地方,这样好进行内存整理。就像你要整理书柜,要把书放在其它地方,重新摆回去。这个暂时存放的地方就是交换区
H. 谁来帮忙讲内存、cpu、缓冲区、交换区及虚拟内存的区别(高手进)
CPU就是处理器,只知道计算
内存是数据存放的地方,CPU需要的数据,和处理过的数据都会放在内存。
缓冲是一种技术,缓冲区BUFFER是解决传输中设备速度不匹配问题,在内存中开辟的一片区域。
虚拟内存,是解决内存(主存)不够用,而在外存上建立的内存。
交换区是LINUX中应用的虚拟内存技术,就是在硬盘中用专门一个磁盘分区来建立虚拟内存。
在Windows中虚拟内存是通过在磁盘的某个分区建立页面文件实现的。
大致意思是这样的
I. 虚拟内存和交换空间有何区别
交换空间和虚拟内存的区别在于使用的系统不一样,产生的技术手段不一样,以下是详解,希望对你有所帮助!
交换空间:
Linux 中的交换空间(Swap space)在物理内存(RAM)被充满时被使用。如果系统需要更多的内存资源,而物理内存已经充满,内存中不活跃的页就会被移到交换空间去。虽然交换空间可以为带有少量内存的机器提供帮助,但是这种方法不应该被当做是对内存的取代。交换空间位于硬盘驱动器上,它比进入物理内存要慢。
交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。
交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。
虚拟内存:
虚拟内存是文件数据交叉链接的活动文件。是WINDOWS目录下的一个"WIN386.SWP"文件,这个文件会不断地扩大和自动缩小。
就速度方面而言,CPU的L1和L2缓存速度最快,内存次之,硬盘再次之。但是虚拟内存使用的是硬盘的空间,为什么我们要使用速度最慢的硬盘来做为虚拟内存呢?因为电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致我们只有可怜的256M/512M内存消耗殆尽。而硬盘空间动辄几十G上百G,为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用。
兄弟,知识要灵活运用,你既然知道是pagefile.sys,那就最好了!