深入理解swap分区及扩存

深入理解swap分区及扩存

1. 需要swap分区扩存的原因:
  • 有时候跑任务的时候,需要很大的内存,但是服务器或者电脑装的内存不足以跑起任务,所以就需要扩存
2. 什么是swap 交换分区?
  • swap space 交换空间 :是虚拟内存的表现方式。系统为了应付一些需要大量内存的应用,从而将磁盘上的空间作为内存来使用,其中当物理内存不够用时,将其中一些暂时不需要的数据交换到交换空间中供其临时使用。
  • 注意事项: 在Linux中,Linux的内核为了提高读写效率和速度,从而会将文件在内存中缓存,缓存的这部分内存就是 Cache Memory, 我们经常使用的是 buffer cachepage cache。我们使用完之后,Cache Memory也不会自动释放。
  • 这样的情况下就会导致在Linux系统中频繁的读写文件,然后查内存的话,就会发现我们可用的内存就会变少。然而当系统的物理内存不够用的时候,我们就需要将物理内存中的一部分空间释放出来,供其当前的程序来使用。Swap分区是当物理内存不足的时候,才进行swap交换。
3. 创建swap文件
  • 安装操作系统分区时需创建swap分区
  • 安装的时候如果没有创建分区,需要手动创建。
    1. 查看内存情况
    • 命令是free -h (h显示的是G, m 显示的是M) 或者free -m
    2. 创建swap 分区
    • dd if=/dev/zero of=/tmp/swapfile1 bs=1024 count=10240000
    • 其中 if=/dev/zero: 输入/dev/zero文件。/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件。就像使用临时交换文件.
    • of=/tmp/swapfile1: 输出到/tmp.swapfile1文件
    • bs=1024: 定义块大小为1024bytes,默认单位是bytes
    • count=10240000,总数大小为10240000个bs即10240000kb,换算的话是10G。
    3. 指定分区类型为swap
    • mkswap /tmp/swapfile1
    4. 设置swap 分区有效
    • swapon /tmp/swapfile1
    5. 设置扩展的swap分区为自动挂载
    • vim /etc/fstab 进去之后自动挂载分区命令 编辑这个 /tmp/swapfile1 swap swap defaults 0 0也就是设置为这个命令之后保存就可以。
    6. 测试添加是否成功
    • 使用命令 free -h, 如果看到swap 分区中内存增加了,就表示成功啦。
  • 如果刚才创建的想要关闭,删除创建的文件的话,就是用命令 swapoff /tmp/swapfile1, 就表示关闭这个分区了,然后删除的命令是 rm /tmp/swapfile1 。
4. swappiness参数
  • Swappiness是关于swap使用率的参数,swappiness的值越大,表示越积极使用swap分区,越小的话表示越会积极的使用物理内存。默认的值是swappiness=60。
  • 当swap使用率配置过大影响到了磁盘的使用,可以将此值减小直到配置为0,当磁盘空间io空闲较大,物理内存负载较高时可以增大到100。
    1. 临时调整swappiness参数的命令是:
sudo sysctl vm.swappiness=100
cat /proc/sys/vm/swappiness 
    1. 永久调整swappiness参数
  • sudo vim /etc/sysctl.conf 修改 vm.swappiness=10, 然后执行命令 sudo sysctl -p
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值