Linux 下 缓存机制和swap分区

Swap用途:

Swap意思是交换分区,通常我们说的虚拟内存,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。

swap清理:swapoff -a && swapon -a

注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大

建议 swap 分区的大小是内存的两倍,但不超过 2GB。但是有时服务器的访问量确实很大,有可能出现 swap 分区不够用的情况,所以我们需要学习 swap 分区的构建方法。建立新的 swap 分区,只需要执行以下几个步骤。

  1. 分区:不管是 fdisk 命令还是 parted 命令,都需要先区。
  2. 格式化:格式化命令稍有不同,使用 mkswap 命令把分区格式化成 swap 分区。
  3. 使用 swap 分区。

实例操作后续添加......

----------------------------------------------------------------------------

Linux的SWAP分区空间不够用的情况下,如何添加SWAP分区

通常情况下,SWAP空间应大于或等于物理内存的大小,最小不应小于64M,通常应是物理内存的2-2.5倍。但根据不同的应用,应有不同的配置。如果是小的桌面系统,则只需要较小的SWAP空间,而大的服务器系统则视情况不同需要不同大小的SWAP空间。特别是数据库服务器和Web服务器,随着访问量的增加,对SWAP空间的要求也会增加。

方式一、通过新建磁盘文件的方式增加SWAP空间:

>> dd if=/dev/zero of=swapfree bs=32k count=32768      #新建一个磁盘文件(32*32768=1048576KB,亦等于1024MB)。
>> /sbin/mkswap /home/swap            #格式化成SWAP分区
>> /sbin/swapon /home/swap            #启动新的SWAP分区
>> /sbin/swapon -s                    #检查SWAP分区

现在再用free -m命令查看一下内存和swap分区大小,就发现增加了1024M的空间了。不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。那我们需要修改/etc/fstab文件,增加如下一行

/home/swap swap swap defaults 0 0

方式二、通过磁盘分区增加SWAP空间:

> /sbin/mkswap /dev/sdb1   #格式化成SWAP分区
> /sbin/swapon /dev/sdb1    #启动新的SWAP分区
> /sbin/swapon -s               #检查SWAP分区

修改/etc/fstab文件,让其永久生效:

/dev/sdb1 swap swap defaults 0 0

二、查看缓存区及内存使用情况

free 命令主要是用来査看内存和 swap 分区的使用情况的,其中:

  • total:是指总数;
  • used:是指已经使用的;
  • free:是指空闲的;
  • shared:共享内存(Shared memory),主要用于在UNIX 环境下不同进程之间共享数据,是进程间通信的一种方法,一般的应用程序不会申请使用共享内存
  • buffers:是指缓冲内存数;
  • cached:是指缓存内存数,单位是KB;
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:        257853      48822     209030          0        594      43939
-/+ buffers/cache:       4288     253564
Swap:        30719          0      30719

buffers和cached解释:

buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;

当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。

 

参考文档:  http://blog.sina.com.cn/s/blog_af6bb6bc0102v1ik.html

          https://www.cnblogs.com/kevingrace/p/5991604.html

 

posted @ 2019-01-25 14:21  梦徒  阅读(5909)  评论(0编辑  收藏  举报