• linux中增加swap分区文件的步骤方法


       一.swap交换分区

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

       用于物理内存不足时,调用硬盘的一部分来充当内存使用,这个就是所谓的虚拟内存。类似Windowspagesfile.sys.

             二.swap分区大小

           分区时一般设定:swap分区的大小=1.5*物理内存容量内存比较小的时候(8G8G以下)可以为内存的1.5-2倍(因为内存小的时候,内存很容易被充满,这个时候就要把交换分区分大点)。

          正常情况下,当内存充足的时候,swap分区是不会被使用的,因此,一旦发生内存充足,而swap使用了很多,说明应用程序等进程有内存泄露,此时就要和开发程序人员一起来分析哪里内存泄露当系统使用swap分区用的越多,系统性能反而会下降,某些大型数据库也可能不使用swap分区,也是可以考虑的,不过,这也会带来内存耗尽,服务直接挂掉的风险。swap是内存不够时的一个缓冲地带。虽然,服务器不会挂掉,这点就仁者见仁了

          三.linux中增加swap分区文件的步骤方法:

    1、检查当前的分区情况(使用free -m或cat /proc/swaps ):

    [root@iZ2zee7gmybverl53rfZ ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          3828       3359        469          0        104        186
    -/+ buffers/cache:       3068        760
    Swap:            0          0          0
    [root@iZ2zee7gmybverl53rfZ ~]# 

    2、增加交换分区文件及大小:
    检查没有swap,下面就需要增加:
    判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。  

    [root@iZ2zee7gmybverl53rfZ ~]# dd if=/dev/zero of=/var/swap bs=1024 count=1024000
    1024000+0 records in
    1024000+0 records out
    1048576000 bytes (1.0 GB) copied, 27.1894 s, 38.6 MB/s
    [root@iZ2zee7gmybverl53rfZ ~]# ll /var/swap 
    -rw-r--r-- 1 root root 1048576000 Nov 16 14:20 /var/swap
    [root@iZ2zee7gmy40tbverl53rfZ ~]# ll -h  /var/swap 
    -rw-r--r-- 1 root root 1000M Nov 16 14:20 /var/swap

    3.使用以下命令来设置交换文件:

    [root@iZ2zee7gmybverl53rfZ ~]# mkswap /var/swap 
    mkswap: /var/swap: warning: don't erase bootbits sectors
            on whole disk. Use -f to force.
    Setting up swapspace version 1, size = 1023996 KiB
    no label, UUID=fe9d1189-aaa7-4744-a056-5126ee051632
    [root@iZ2zee7gmy40tbverl53rfZ ~]#

    4.启用交换分区文件:
    要立即启用交换文件而不是在引导时自动启用,使用以下命令:
     [root@db2 root]# swapon /var/swap

    检查增加后的交换情况: 

    [root@iZ2zee7gmybverl53rfZ ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          3828       3714        114          0         43        593
    -/+ buffers/cache:       3077        751
    Swap:          999          0        999
    [root@iZ2zee7gmybverl53rfZ ~]# 

    5.加入开机挂载

    要在引导时启用,编辑 /etc/fstab 文件来包含以下行(/var/swap               swap                    swap    defaults        0 0 ):

    [root@iZ2zee7gmybverl53rfZ ~]# cp /etc/fstab /etc/fstab.bak    ###操作挂载文件时,一定要备份,否则修改失败时,会造成不能开机的危险。

    [root@iZ2zee7gmy40tbverl53rfZ ~]# ll /etc/fstab*                ###备份完毕后,检查是否备份成功
    -rw-r--r-- 1 root root 693 Nov 16 14:28 /etc/fstab
    -rw-r--r-- 1 root root 617 Nov 16 14:27 /etc/fstab.bak

    [root@iZ2zee7gmybverl53rfZ ~]# cat /etc/fstab                  ##            修改完挂载文件后查看
    
    #
    # /etc/fstab
    # Created by anaconda on Thu Feb 23 07:28:22 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=3d083579-f5d9-4df5-9347-8d27925805d4 /                       ext4    defaults        1 1
    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
    /var/swap              swap                     swap    defaults        0 0
    [root@iZ2zee7gmybverl53rfZ ~]#

    系统下次引导时,它就会启用新建的交换文件   。       
    再次检查添加后的情况:

    [root@iZ2zee7gmybverl53rfZ ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          3828       3717        111          0         43        595
    -/+ buffers/cache:       3077        750
    Swap:          999          0        999
    [root@iZ2zee7gmybverl53rfZ ~]# 
  • 相关阅读:
    Android总结之json解析(FastJson Gson 对比)
    Android性能优化之UncaughtExceptionHandler定制自己的错误日志系统
    IOS遍历网页获取网页中<img>标签中的图片url
    IOS各种集合遍历效率对比
    cx_oracle访问处理oracle中文乱码问题
    使用tar解压文件提示gzip: stdin: not in gzip format错误
    Mac安装crfpp
    oracle 常用操作
    docker启动centos7后sudo不能使用
    常见Python爬虫工具总结
  • 原文地址:https://www.cnblogs.com/dadonggg/p/7844230.html
Copyright © 2020-2023  润新知