物理内存和虚拟内存swap(交换空间)详解

物理内存和虚拟内存swap(交换空间)详解首先要知道直接从物理内存读写数据比硬盘读写数据要快的多,但是内存是有限的,所以就引出了物理内存和虚拟内存,物理内存是系统硬件提供的内存,是真正的内存,虚拟内存是为了满足物理内存不足时而提出的策略,他是利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(swapspace)作为物理

大家好,欢迎来到IT知识分享网。物理内存和虚拟内存swap(交换空间)详解

首先要知道直接从物理内存读写数据比硬盘读写数据要快的多,但是内存是有限的,所以就引出了物理内存和虚拟内存,物理内存是系统硬件提供的内存,是真正的内存,虚拟内存是为了满足物理内存不足时而提出的策略,他是利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(swap space)

作为物理内存的扩展,linux会在物理内存不足时使用交换空间,内核会将暂时不用的内存快信息写到交换空间,这样物理内存就得到了释放,当需要 用到原始内容时重新从交换空间读入物理内存

linux操作系统中当应用程序需要读取文件中的数据时,操作系统会先分配一些内存将数据从磁盘读入到内存中,然后再将数据分发给应用程序;当需要往文件中写入数据时操作系统会分配内存接收用户数据,然后再将数据写入到磁盘中; 如果有大量数据需要读写 到磁盘时,系统的读写性能就会降低非常耗时间和资源,这种情况下就引入了buffers和cached机制

buffer和cached都是内存操作,用来保存内存曾经打开的文件和文件属性信息,所以当系统需要读取文件时会先从buffer和cache内存区查找,如果找到直接读取发给应用程序,如果没有找到才从磁盘中找,通过缓存大大提高了操作系统的性能,但是buffer和cache缓存的内容是不同的,buffer用来缓存块设备的只记录了文件系统的元数据以及pages,而cached用来给文件做缓冲;通俗说buffer存得是文件内容、属性和权限,cached直接用来记忆我们打开过的文件和程序

 

释放虚拟内存命令:

一般系统不会自动释放内存

/proc/sys/vm/drop_caches   默认是0 表示不释放缓存   3 代表释放所有缓存

释放swap前提保证内存剩余大于swap使用量,否则会宕机

查看当前swap分区挂载  swapop -s      /dev/sda1

关停分区   swapoff /dev/sda1

查看状态  swapon -a

如果想挂到其他分区下面  可以  swapon  /dev/sda5

 

cat /proc/sys/vm/swappiness   60   表示物理内存用到60%时才会使用swap

swapiness=0 表示物理内存用完才会使用swap

swapiness=100 表示积极的使用swap分区,并且把内存上的数据及时搬运到swap空间

 

临时修改swappiness参数

sysctl vm.swappiness=10

 

永久修改

vim /etc/sysctl.conf

sysctl -p

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27984.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信