• cetos报错“Lack of free swap space” 解决方法


    前提:今天发现某台主机一直报警:swap内存被用光

    1、查看了服务器的内存情况【发现在物理内存还剩余的情况下,swap开始被使用,甚至到被用光】
    [root@note1 ~]# free -h
    total used free shared buff/cache available
    Mem: 15G 4.9G 169M 141M 10G 10G
    Swap: 4.0G 3.4G 651M

    2、查看swappiness文件的值
    [root@note1 ~]# cat /proc/sys/vm/swappiness
    30

    说明:在centos里面,swappiness的值的大小对如何使用swap分区是有着很大的联系的。
    swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;
    swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
    两个极端,对于Centos的默认设置,这个值等于60,建议修改为10。

    3、修改swappiness的值
    [root@note1 ~]# sysctl vm.swappiness=10
    vm.swappiness = 10

    #修改配置文件,确保重启后不恢复为默认值
    [root@note1 ~]# echo vm.swappiness=10 >> /etc/sysctl.conf

    4、重启swap
    //关闭虚拟内存
    [root@note1 ~]# swapoff -a

    //开启虚拟内存
    [root@note1 ~]# swapon -a

    5、再次查看内存情况
    //关闭swap后内存情况
    [root@note1 ~]# free -h
    total used free shared buff/cache available
    Mem: 15G 7.7G 165M 393M 7.6G 7.0G
    Swap: 0B 0B 0B

    // 重启swap后
    [root@note1 ~]# free -h
    total used free shared buff/cache available
    Mem: 15G 7.7G 165M 393M 7.6G 7.0G
    Swap: 4.0G 0B 4.0G

    参考链接:https://blog.51cto.com/davidbj/1172879

  • 相关阅读:
    yocto添加源码并编译进文件系统
    yocto编译加速及单独编译内核与uboot
    mysql 创建索引
    redis初使用
    mysql修改时区
    linux修改时间
    服务器环境配置安装(mysql+redis+nodejs+nginx)
    由于找不到MSVCP20.dll,无法继续执行代码
    sequelize初使用
    css flex
  • 原文地址:https://www.cnblogs.com/xiaoyaojinzhazhadehangcheng/p/11611285.html
Copyright © 2020-2023  润新知