• linux内存监控


    1. 内存申请顺序:free-->cache-->buffer-->swap

    1、

    #!/bin/bash
    #
    total=$(free -m | sed -n '2p' | awk '{print $2}')
    used=$(free -m | sed -n '2p' | awk '{print $3}')
    free=$(free -m | sed -n '2p' | awk '{print $4}')
    shared=$(free -m | sed -n '2p' | awk '{print $5}')
    buff=$(free -m | sed -n '2p' | awk '{print $6}')
    cached=$(free -m | sed -n '2p' | awk '{print $7}')
    rate=`echo "scale=2;$used/$total" | bc | awk -F. '{print $2}'`
    echo -e "total\tused\tfree\tshared\tbuffer\tavailable"
    echo -e "${total}M\t${used}M\t${free}M\t${shared}M\t${buff}M\t${cached}M\nrate:${rate}%"


    2、
    head -2 /proc/meminfo |awk 'NR==1{t=$2}NR==2{f=$2;print(t-f)*100/t}'
    39.6309

    3、

    memory_use() {
    memory_used=`head -2 /proc/meminfo | awk 'NR==1{t=$2}NR==2{f=$2;print(t-f)*100/t"%"}'`
    memory_cache=`head -5 /proc/meminfo | awk 'NR==1{t=$2}NR==5{c=$2;print c*100/t"%"}'`
    memory_buffer=`head -4 /proc/meminfo | awk 'NR==1{t=$2}NR==4{d=$2;print d*100/t"%"}'`
     
    echo "memory_used: " $memory_used
    echo "memory_cache: " $memory_cache
    echo "memory_buffer: " $memory_buffer
    echo 
    echo -e "memory_use: $memory_used\t cache: $memory_cache\t buffer: $memory_buffer"
    }
    memory_use

    4、

    memory_use(){
    memory_used=`head -2 /proc/meminfo |awk 'NR==1{t=$2}NR==2{f=$2;print(t-f)*100/t"%"}'`
    memory_cache=`head -5 /proc/meminfo |awk 'NR==1{t=$2}NR==5{c=$2;print c*100/t"%"}'`
    memory_buffer=`head -4 /proc/meminfo |awk 'NR==1{t=$2}NR==4{b=$2;print b*100/t"%"}'`

    echo -e "memory_used:$memory_used\tmemory_buffer:$memory_buffer\tmemory_cache:$memory_cache"

    }
    memory_use

  • 相关阅读:
    typescript ts 基础知识之类型声明
    2024-05-30 vscode python不能调试
    CPU的功能和基本结构
    sql中on、where、having的区别
    9. 回文数
    部署ELK,收集nginx日志
    【面试题】操作系统面试题(第六篇)
    深入理解单例设计模式
    MCU固件加密
    echarts数值过多时X轴滚动显示
  • 原文地址:https://blog.csdn.net/qq_29707567/article/details/126668803