zoukankan      html  css  js  c++  java
  • 【Linux】swap分区简介及空间增加方式

    swap分区简介

    Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

    如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。

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

    另外,Swap分区的数量对性能也有很大的影响。因为Swap交换的操作是磁盘IO的操作,如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。用性能监视工具就会发现,此时的CPU并不很忙,而系统却慢。这说明,瓶颈在IO上,依靠提高CPU的速度是解决不了问题的。

    增加swap空间

    一、 新增磁盘格式化为swap文件系统格式

    1. 操作系统添加磁盘并分区

    过程略...

     

    2. 格式化/dev/sdb1 为swap格式

    [root@drz ~]# mkswap /dev/sdb1

    Setting up swapspace version 1, size = 5237152 KiB

    no label, UUID=a27052be-af29-4b7b-b2ea-dd98cea07187

     

    3. 启用swap空间

    [root@drz ~]# free -m

                 total       used       free     shared    buffers     cached

    Mem:          1990        291       1699          0          7        106

    -/+ buffers/cache:        177       1813

    Swap:         4097          0       4097

    ##启用swap空间

    [root@drz ~]# swapon /dev/sdb1

    ##验证增加的swap空间

    [root@drz ~]# free -m

                 total       used       free     shared    buffers     cached

    Mem:          1990        295       1695          0          7        106

    -/+ buffers/cache:        181       1809

    Swap:         9212          0       9212


     

    4.设置自动挂载

    [root@drz ~]# vi /etc/fstab

    tmpfs                   /dev/shm                tmpfs   defaults        0 0

    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

    sysfs                   /sys                    sysfs   defaults        0 0

    proc                    /proc                   proc    defaults        0 0

    /dev/sdb1               swap                    swap    defaults        0 0

     

    二、 从已有磁盘中划分swap空间

    1. 创建swap文件

    [root@drz ~]# dd if=/dev/zero of=/home/swapfile bs=1M count=1024

    1024+0 records in

    1024+0 records out

    1073741824 bytes (1.1 GB) copied, 23.5135 s, 45.7 MB/s

    ##if 表示 infile,of 表示 outfile,bs=1M 代表增加的模块大小,count=1024 代表 1024 个模块,也就是 1G 空间

     

    2. 将swapfile设置为swap分区文件

    [root@drz ~]# mkswap /home/swapfile

    mkswap: /home/swapfile: warning: don't erase bootbits sectors

            on whole disk. Use -f to force.

    Setting up swapspace version 1, size = 1048572 KiB

    no label, UUID=6d05e7ef-20fe-4464-ac24-e22433343e26

     

    3. 激活swap分区文件

    ##查看激活前swap大小

    [root@drz ~]# free -m

                 total       used       free     shared    buffers     cached

    Mem:          1990       1354        636          0          8       1130

    -/+ buffers/cache:        215       1775

    Swap:         9212          0       9212

     

    ##激活文件

    [root@drz ~]# swapon /home/swapfile

     

    ##验证增加情况

    [root@drz ~]# free -m

                 total       used       free     shared    buffers     cached

    Mem:          1990       1355        635          0          8       1130

    -/+ buffers/cache:        216       1774

    Swap:        10236          0      10236


     

    4.设置自动挂载

    [root@drz ~]# vi /etc/fstab

    [root@drz ~]# vi /etc/fstab

    tmpfs                   /dev/shm               tmpfs   defaults          0 0

    devpts                  /dev/pts               devpts  gid=5,mode=620    0 0

    sysfs                   /sys                    sysfs   defaults         0 0

    proc                    /proc                   proc    defaults         0 0

    /home/swapfile          swap                    swap    defaults         0 0


  • 相关阅读:
    k8s 中 nfs作为存储的三种方式
    k8s-ingress部署测试以及深入理解
    k8s全方位监控-prometheus-配置文件介绍以及基于文件服务发现
    k8s全方位监控 -prometheus实现短信告警接口编写(python)
    prometheus-数据展示之grafana部署和数据源配置
    k8s全方位监控-prometheus-alertmanager部署-配置第一条告警邮件
    k8s全方位监控-prometheus部署
    k8s-coredns 介绍和部署
    k8s-静态PV和动态PV
    消息扩散
  • 原文地址:https://www.cnblogs.com/NextAction/p/7366650.html
Copyright © 2011-2022 走看看