zoukankan      html  css  js  c++  java
  • 手工释放服务器的swap分区缓存

    时间  恢复时间状态信息主机问题 • 严重性持续时间确认动作
    2019-03-21 20:29:30     09:51:30     -ai-代理 Lack of free swap space on ai-代理-73

    监控显示swap分区溢出,需要手动清理释放swap分区占用的内存。

    /proc/sys/vm/drop_caches 该配置文件记录释放缓存文件的记录

    0-不释放

    1-不释放页缓存

    2-释放dentries和inodes

    3-释放所有缓存

    首先用sync指令,将所有未写的系统缓冲区写到磁盘中,包含已修改的inode,已延迟的块I/O和读写映射文件,否则在释放缓存的过程中,可能会丢失未保存的文件

    接下来设置参数: echo 3 > /proc/sys/vm/drop_caches

    cat /proc/sys/vm/drop_caches

    若遇到 无法分配内存的情况:

    [root@localhost /]# sudo swapoff -a
    swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory

    查看哪个程序占用内存比较大的,将该程序重启即恢复

    通过查看知晓php-fpm 程序占用内存较大,将其重启后内存占用情况即恢复。

    swapon -s 查看swap分区的挂载点

    然后swapoff /dev/dm-1 停掉swap分区,然后再进行打开

    swapon -a

    我们的swap分区内存已经成功释放到了实际内存当中。

    如果出现无法释放掉swap占用的内存的情况下 可以通过如下方法解决

    [root@localhost felix]# swapoff /dev/dm-1
    swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory

    先用free -mh 查看内存占用情况

    netstat -ntlup  查看哪些程序在运行

    top命令查看内存占用较高的程序。

    以我的例子来分析,得出,nginx和php程序占用的内存较多,

    可以重启下相关程序,释放下缓存

    service php-fpm restart

    /usr/local/nginx/sbin/nginx -s reload

    然后发现内存释放掉了,

  • 相关阅读:
    Ext.Net多表头跨行跨列
    操作文件
    HighMaps
    HighCharts动态读取显示
    SAP CRM 项目笔记(一) SOW(工作说明书)讨论
    .net 动态编译解决考勤计算问题
    CPU的大小端模式
    将一个数转化为任意进制的数
    关于内存对齐
    常量指针与指针常量
  • 原文地址:https://www.cnblogs.com/Enzoo/p/10576536.html
Copyright © 2011-2022 走看看