Linux系统实现虚拟内存教程

Linux系统实现虚拟内存有两种方法:交换分区(swap分区)和交换文件,

一、交换文件

  1. 查看内存:free -m , -m是显示单位为MB,-g单位GB                  
    free -g

  2. 创建一个文件:touch命令用于修改文件或者目录的时间属性,包括访问时间和修改时间,若文件不存在,系统会建立一个新的文件。我们平时用得最多的是通过touch创建一个空文件,实际上通过touch命令可以修改文件的atime、mtime,所以文件的真实访问时间和修改时间是可以被修改
    touch /etc/swapfile
  3. 使用dd命令,来创建大小为2G的文件swapfile(注意文件路径):
    dd if=/dev/zero of=/etc/swapfile bs=1M count=2048 //命令执行完需要等待一段时间
    if表示input_file输入文件
    of表示output_file输出文件
    bs表示block_size块大小
    count表示计数。
    这里,我采用了数据块大小为1M,数据块数目为2048,这样分配的空间就是2G大小。
    dd if=/dev/zero of=/etc/swapfile bs=1M count=2048

  4. 格式化交换文件:mkswap /etc/swapfile
  5. 启用交换文件:swapon /etc/swapfile
  6. 加载到虚拟内存:/etc/swapfile swap swap defaults 0 0
    chmod 777 /etc/swapfile
    
    /etc/swapfile swap swap defaults 0 0
    注意:swapfile文件的路径,文件要有可执行权限
  7. 查看虚拟内存情况:swap 分配和使用情况
    free -g

  8. 开机自动加载虚拟内存,在/etc/fstab文件中加入如下命令 :
    /etc/swapfile swap swap defaults 0 0

    Linux系统实现虚拟内存教程_第1张图片
     
    
    UUID=edf839fd-8e1a-4373-946a-c32c9b459611 /     xfs     defaults        0 0
    /etc/swapfile swap swap defaults 0 0

  9. 重启系统:reboot  ,free

 

如果要删除交换分区和交换文件,逆着上面的顺序操作:

  1. 先删除/etc/fstab文件中添加的交换文件行
  2. 停用交换文件swapoff /etc/swapfile
  3. 删除交换文件rm -fr /etc/swapfile

二、交换分区

        采用交换分区的办法:其实就是新建一个分区,然后将该分区挂载作为交换空间,方法步骤与传统的新建分区一样。只不过格式化分区和挂载分区分别采用mkswap和swapon命令。在创建分区之前,我们常常要用过fdisk -l和df -Th命令来查看硬盘信息和挂载信息,来确定分区的大小。

  1. 在shell下以root身份创建分区 hdb1  fdisk /dev/hdb1  然后 w 保存退出
  2. 设置交换分区,大小视情况自己设置。mkswap /dev/hdb1
  3. 启用交换分区swapon /dev/hdb1
  4. 开机自动加载虚拟内存,在/etc/fstab文件中加入如下命令:
    /dev/hdb1 swap swap defaults 0 0

你可能感兴趣的:(linux,运维,服务器)