大家好,欢迎来到IT知识分享网。
首先要知道直接从物理内存读写数据比硬盘读写数据要快的多,但是内存是有限的,所以就引出了物理内存和虚拟内存,物理内存是系统硬件提供的内存,是真正的内存,虚拟内存是为了满足物理内存不足时而提出的策略,他是利用磁盘空间虚拟出的逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(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