当前位置: 首页 > news >正文

难点:Linux 死机定位(进程虚拟地址空间耗尽)

死机定位(进程虚拟地址空间耗尽)

一、死机现象

内存富裕,但内存申请失败。
死机时打印:
在这里插入图片描述
怀疑是:
1、内存碎片原因导致。
2、进程虚拟地址空间耗尽导致。
3、进程资源限制导致。

二、内存碎片分析

1、理论知识:如何分析内存碎片化情况
使用 /proc/buddyinfo:
/proc/buddyinfo 文件提供了关于内存碎片化的重要信息。这个文件显示了每个内存区域(zone)中的空闲页面数量,按不同大小分类。较大的数字表示有更多的大块连续内存可用,而较小的数字则表明存在更多的小块内存,这是内存碎片化的迹象。

内容格式如下:
Node , zone …
Node : NUMA 节点编号;
zone : 内存区域名称;
… : 每个订单(order)对应的空闲内存块数量。每个订单对应 2^N 个页面(通常是 4 KB 页面)

例如:
Node 0, zone Normal 12 22 18 14 10 7 5 3 2 1 0
如果右边的数字(大块内存)较少,而左边的数字较多,说明内存碎片化较为严重。
order 0: 12 个 4 KB 的内存块
order 1: 22 个 8 KB 的内存块
… …
order 9: 1 个 2 MB 的内存块
order 10: 0 个 4 MB 的内存块
实例说明内存碎片化:
高阶订单(如 order 7、8、9、10)的值较低:这表明系统中大块连续内存不足。
低阶订单(如 order 0、1、2、3)的值较高:这表明系统中有大量的小块内存,也可能暗示内存碎片化。

2、实例分析:内存碎片化情况
在这里插入图片描述
结论:Top和buddyinfo计算的剩余内存能够匹配,Order 10为4M内存块都剩余48个,按道理申请40kB*8空间不会失败才对。
====》产生问题:为

http://www.lryc.cn/news/459259.html

相关文章:

  • 小米路由器刷机istoreOS,愉快上网
  • 微信小程序 - 01 - 一些补充和注意点(补充ing...)
  • 微服务实战——登录(普通登录、社交登录、SSO单点登录)
  • windows 安装 ElasticSearch
  • Oracle Linux 9 (CentOS Stream 9) 安装 node.js 20
  • 【Axure安装包与汉化包附带授权证书】
  • SSH隧道验证的原理及实现例子
  • [计算机视觉]chapter1
  • RTKLIB学习记录【postpos、execses_b、execses_r】
  • docker,docker-desktop,docker-compose download
  • C#_带参数的委托进入队列执行
  • 【OpenCV】(二)—— 图片读取展示和保存
  • 【花卉识别系统】Python+卷积神经网络算法+人工智能+深度学习+图像识别+算法模型
  • k8s、prometheus、grafana数据采集和展示的链路流程
  • sentinel dashboard改造落地设计实现解释(一)-分布式fetcher和metrics存储/搜索
  • LabVIEW提高开发效率技巧----时序分析
  • python不用ide也能进行调试
  • Django学习笔记之Django基础学习
  • smartctl 设置硬盘的 write-caching
  • 【Spring AI】Java实现类似langchain的向量数据库RAG_原理与具体实践
  • linux下使用systemctl设置开机自动运行程序
  • 复位电路的亚稳态
  • 针对考研的C语言学习(循环队列-链表版本以及2019循环队列大题)
  • 系统架构设计师教程 第12章 12.4 信息系统架构案例分析 笔记
  • web1.0,web2.0,web3.0 有什么区别 详解
  • 将图片添加到 PDF 的 5 种方法
  • TiDB 优化器丨执行计划和 SQL 算子解读最佳实践
  • 初学51单片机之I2C总线与E2PROM以及UART简单实例应用
  • 软考高级软件架构师论文——论Web系统的测试技术及其应用
  • 快速总结AFPN