Program Life
  • Introduction
  • Catalog
  • Part I - Language
    • 目录
    • Golang
      • go 知识点合辑
      • go mod 简介
      • recover & const 简述
      • 关于 nil 的一些事情
      • slice 底层结构
    • JS
      • js 零基础起步
    • Python
      • python 基础
  • Part II - Network
    • 目录
    • TCP与UDP 对比
    • http2
      • http/2.0 and http/2.0 in Go
    • Grpc
      • gRPC 客户端连接语义与API
      • gRPC over http/2
      • gRPC 的 go 拦截器
  • Part III - Database
    • 目录
    • 常见 DB 基础细节
    • High Performance Mysql, 3th Edition - 笔记
    • mysql 中的索引类型
    • 批量写入造成mysql访问慢问题追踪
  • Part Ⅳ - Devops
    • 目录
    • Docker
      • Docker 基础使用指南
    • Kubernetes
      • K8S网络之网络框架
      • K8S网络之service间通信
      • K8S网络之集群外访问service的方式
    • IPVS 在 k8s 中连接保持引发的问题
    • Linux 常用指令
    • Linux 内存缓慢增长问题
    • Linux 性能领域大师布伦丹·格雷格的工具图谱
  • Part Ⅴ - Bigdata
    • 目录
    • Machine Learn
      • PCA原理推导
  • Part Ⅵ - Algorithm
    • 目录
    • 常用算法列表
    • 分布式一致性协议简介
    • ARC 算法简述
  • Part Ⅶ - Design
    • 目录
  • Part Ⅷ - Skill
    • 目录
    • 关于沟通、交流
    • Google 技能评分卡
    • 架构之重构的12条军规
    • 驾考指南
    • 杂项
    • RNote
      • 代码重构培训(笔记)
      • 登高四书(笔记)
      • 番茄工作法图解(笔记)
Powered by GitBook
On this page
  • 监控脚本
  • 分析数据

Was this helpful?

  1. Part Ⅳ - Devops

Linux 内存缓慢增长问题

linux 内存缓慢增长问题的一种简单处理方式

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

监控脚本

    #!/bin/bash

    # */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"}'
PreviousLinux 常用指令NextLinux 性能领域大师布伦丹·格雷格的工具图谱

Last updated 5 years ago

Was this helpful?