美文网首页
启动内存交换区swap

启动内存交换区swap

作者: LittleTrue | 来源:发表于2020-02-29 21:56 被阅读0次

    配置swap之前,通过 free 和 df 查看 swap 和 磁盘空间情况,目的是通过配置swap后比较变化。

    1、新建一个专门的文件用于swap分区
    mkdir /developer/
    cd /developer/
     dd if=/dev/zero of=swap_file bs=1M count=2048
    

    注:此文件的大小是count的大小乘以bs大小,上面命令的大小是2GB

    2、通过mkswap命令将上面新建出的文件做成swap分区并激活
    mkswap /developer/swap_file
    
    3、设置开机自动启动
    vim /etc/fstab
    /developer/swap_file swap swap defaults 0 0
    
    4、启用此交换分区的交换功能
    swapon /developer/swap_file
    

    注意:

    1、千万不要开启大于实际内存几倍的swap分区。
    2、SWAP分区内的数据内存频繁进行交换会导致CPU过高。mysql数据库在同一时刻点大量SQL扫描同一张表,虽然有索引,但还是触发大量数据加载到内存,并且期间还有vacuum操作,导致系统缓存不足,系统频繁进行数据交换。
    3、SWAP开启后导致部分CPU性能损失, 单核服务器不建议开启, 因为会导致kswapd0进程的使用。

    kswapd0进程的作用:它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,如果不紧张,则睡眠,在 kswapd 中,有2 个阀值,pages_hige 和 pages_low,当空闲内存页的数量低于 pages_low 的时候,kswapd进程就会扫描内存并且每次释放出32 个free pages,直到 free page 的数量到达pages_high。通过阻止kswapd0进程过渡活跃地消耗CPU的方法是设置大页内存。

    相关文章

      网友评论

          本文标题:启动内存交换区swap

          本文链接:https://www.haomeiwen.com/subject/tzqaxhtx.html