分析阿里云 ECS 出现内存占用过高原因

简介: 本文主要通过脚本的方式收集和分析 ECS 占用内容过高的原因
#!/bin/bash
# 分析阿里云 ECS 出现内存占用过高原因
# author:hanli

function freem(){
  echo -e "\033[32m---- free 系统内存使用详情 ----\033[0m"
  which free && free -m || return 1
}

function topfree(){
  echo -e "\033[32m---- top  系统内存使用详情 ----\033[0m"
  which top && top -d 1 -n 1 -o %MEM | grep PID -A 10 || return 1
  TPID=`top -d 1 -n 1 -o %MEM | grep PID -A 10 | awk 'NR==2{print $2}'`
}

function psfree(){
  echo -e "\033[32m---- PS   进程内存使用详情 ----\033[0m"
  which ps && ps auxw --sort=-rss | head -n 10  || return 1
  PSPID=`ps auxw --sort=-rss | awk 'NR==2{print $2}'`
}

function Judage(){
  if [[ $TPID == $PSPID ]]; then
    echo -e "\033[32m---- PID $PSPID 占用内容较高----\033[0m"
  fi
}

function meminfo(){

  echo -e "\033[32m---- 内存分配详情 ----\033[0m"

  total=$(grep MemTotal /proc/meminfo|awk '{print $2}')
  while read line
  do
    #echo "1 2 3" | { read a b c;echo $a; }
    flag=$(echo $line | egrep -vi "mem*|Vmallo*" | awk '$2!=0{print}' | awk '{print $1}')
    value=$(echo "$line" | egrep -vi "mem*|Vmallo*" |awk '$2!=0{print}' | awk '{print $2}')
    if [[ "$value" -ne "" ]]; then
      precent=$(echo "scale=2; $value / $total * 100" | bc)
      echo -e "$flag \t内存占比 $precent %"
    fi
  done < /proc/meminfo
}

if  freem && topfree && psfree ; then
  Judage && meminfo
else
  echo -e "\033[31m检查 TOP\\PS\\FREE 命令是否正常安装\033[0m"
fi
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
存储 弹性计算 缓存
阿里云服务器ECS经济型、通用算力、计算型、通用和内存型选购指南及使用场景分析
本文详细解析阿里云ECS服务器的经济型、通用算力型、计算型、通用型和内存型实例的区别及适用场景,涵盖性能特点、配置比例与实际应用,助你根据业务需求精准选型,提升资源利用率并降低成本。
778 3
|
12月前
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
3355 0
|
9月前
|
设计模式 缓存 Java
【JUC】(4)从JMM内存模型的角度来分析CAS并发性问题
本篇文章将从JMM内存模型的角度来分析CAS并发性问题; 内容包含:介绍JMM、CAS、balking犹豫模式、二次检查锁、指令重排问题
228 1
|
11月前
|
存储 弹性计算 运维
阿里云服务器全解析:ECS是什么、应用场景、租用流程及优缺点分析
阿里云ECS(Elastic Compute Service)是阿里云提供的高性能、高可用的云计算服务,支持弹性扩展、多样化实例类型和多种计费模式。适用于网站搭建、数据处理、运维测试等多种场景,具备分钟级交付、安全可靠、成本低、易运维等优势,是企业及开发者上云的理想选择。
1192 5
|
12月前
|
存储 人工智能 自然语言处理
AI代理内存消耗过大?9种优化策略对比分析
在AI代理系统中,多代理协作虽能提升整体准确性,但真正决定性能的关键因素之一是**内存管理**。随着对话深度和长度的增加,内存消耗呈指数级增长,主要源于历史上下文、工具调用记录、数据库查询结果等组件的持续积累。本文深入探讨了从基础到高级的九种内存优化技术,涵盖顺序存储、滑动窗口、摘要型内存、基于检索的系统、内存增强变换器、分层优化、图形化记忆网络、压缩整合策略以及类操作系统内存管理。通过统一框架下的代码实现与性能评估,分析了每种技术的适用场景与局限性,为构建高效、可扩展的AI代理系统提供了系统性的优化路径和技术参考。
872 4
AI代理内存消耗过大?9种优化策略对比分析
|
11月前
|
存储 机器学习/深度学习 缓存
阿里云九代云服务器怎么样?计算型c9i、通用型g9i、内存型r9i实例介绍
阿里云第9代云服务器主要实例规格包括计算型c9i、通用型g9i、内存型r9i,本文将为大家介绍阿里云九代云服务器中的计算型c9i、通用型g9i、内存型r9i实例的主要性能特点,并分享最新的活动价格信息,以供参考。
918 1
|
12月前
|
存储 缓存 NoSQL
内存管理基础:数据结构的存储方式
数据结构在内存中的存储方式主要包括连续存储、链式存储、索引存储和散列存储。连续存储如数组,数据元素按顺序连续存放,访问速度快但扩展性差;链式存储如链表,通过指针连接分散的节点,便于插入删除但访问效率低;索引存储通过索引表提高查找效率,常用于数据库系统;散列存储如哈希表,通过哈希函数实现快速存取,但需处理冲突。不同场景下应根据访问模式、数据规模和操作频率选择合适的存储结构,甚至结合多种方式以达到最优性能。掌握这些存储机制是构建高效程序和理解高级数据结构的基础。
1102 1
|
12月前
|
存储 弹性计算 固态存储
阿里云服务器配置费用整理,支持一万人CPU内存、公网带宽和存储IO性能全解析
要支撑1万人在线流量,需选择阿里云企业级ECS服务器,如通用型g系列、高主频型hf系列或通用算力型u1实例,配置如16核64G及以上,搭配高带宽与SSD/ESSD云盘,费用约数千元每月。
1528 0