一种 linux 内存缓慢增长问题的追踪方法

linux 内存缓慢增长问题

在遇到 内存、cpu 等系统资源 缓慢增长问题,又不能确认是哪个进程造成的时候,可以使用类似的脚本进行数据采样,然后通过对格式化数据分析找到 具体的服务(进程)。

监控脚本

    #!/bin/bash

    # 需手工将此脚本添加到 cronjob 中
    # */1 * * * * bash /data/data_tmp/monitor.sh

    now=`date +%Y%m%d`
    /usr/bin/top -c -b -n 1 | sort -nr -k10 | head -n 20 | tee >>/data/data_tmp/top_$now.txt

    tow_days_ago=`date +%Y%m%d -d "5 day ago"`
    if [ -f /data/data_tmp/top_${tow_days_ago}.txt ];then
    rm -f /data/data_tmp/top_${tow_days_ago}.txt
    fi

分析数据

    # 按进程名分组写入不同的文件
    cat tmp.txt | grep -v % | grep -v KiB | grep -v Tasks | sort -r -k12 -k11 | awk '{print $0 >> $12".rlog"}'
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。