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

【操作系统】LinuxRT-Thread查看内存分布的方法

Linux&RT-Thread查看内存分布的方法

  • 1.Linux系统中查看内存分布
    • 1.1 查看物理内存分布
    • 1.2 查看进程内存映射
    • 1.3 查看SLAB分配情况
  • 2. RT-Thread系统中查看内存分布
    • 2.1 使用msh命令
    • 2.2 使用API获取内存信息
    • 2.3 通过FinSH组件
  • 3.对比总结

1.Linux系统中查看内存分布

1.1 查看物理内存分布

cat /proc/meminfo   显示系统内存使用概况,包括总内存、空闲内存、缓存等。
cat /proc/buddyinfo  显示Buddy系统的内存碎片情况,按order(2^n页)显示可用内存块数量。
cat /proc/iomem  显示物理内存地址空间的分布情况

1.2 查看进程内存映射

pmap -x <pid> 显示指定进程的内存映射详情,包括地址范围、权限、映射文件等。
cat /proc/<pid>/maps  显示指定进程的内存映射信息。

1.3 查看SLAB分配情况

cat /proc/slabinfo  显示SLAB分配器的使用情况,包括各种缓存的对象数量。
slabtop  动态显示SLAB缓存使用情况(类似top命令)

2. RT-Thread系统中查看内存分布

2.1 使用msh命令

msh > list_mem   显示系统内存堆的使用情况,包括总大小、已使用、最大空闲块等。
msh > list_memp  显示内存池(mempool)的使用情况。

2.2 使用API获取内存信息

void rt_system_memheap_info(struct rt_memheap_item* info);

获取内存堆的详细信息。

2.3 通过FinSH组件

如果启用了FinSH组件,可以使用以下命令:

free  显示内存使用概况。
memtrace  显示内存分配跟踪信息(需开启相关配置)

3.对比总结

功能LinuxRT-Thread
查看物理内存分布/proc/meminfo, /proc/buddyinfolist_mem
查看进程内存映射pmap, /proc//maps不支持(无进程概念)
查看SLAB分配/proc/slabinfo, slabtop不支持(通常不使用SLAB)
实时监控vmstat, slabtoplist_mem, memtrace
内存池信息无直接对应list_memp

RT-Thread的内存查看功能相对简单,主要针对嵌入式系统的需求设计,而Linux提供了更全面的内存信息查看工具。

加油💪

http://www.dtcms.com/a/108548.html

相关文章:

  • 06_docker 网络类型
  • 蓝桥杯 web 学海无涯(axios、ecahrts)版本二
  • tomcat使用笔记、启动失败但是未打印日志
  • ue5 学习笔记 FPS游戏制作35 GameMode与GameInstance
  • 零基础玩转深度神经网络大模型:从Hello World到AI炼金术-详解版(含:Conda 全面使用指南)
  • MySQL 管理
  • 论文阅读9——更严格的汽车排放标准对气候、健康、农业和经济的影响
  • Redis 慢查询
  • php 扩展库官网
  • 小程序中的网络请求
  • springcouldalibaba5大组件
  • leetcode热题100(2)
  • 在Linux系统上深入安装与配置Redis:从基础到高级的全方位指南
  • LeetCode BFS解决最短路问题
  • 深入浅出:Spring Bean 的初始化流程详解
  • [力扣每日一练]关于特定字符串的匹配
  • Flutter 插件 百度地图 Android插件演示
  • 配置Next.js环境 使用vscode
  • 多元守护,构筑健康生活
  • ClickHouse与Doris对比:数据处理领域的“华山论剑”
  • 制作cass高程点块定义——cad c#二次开发
  • 在QGIS中将矢量数据导出为JSON
  • 运营商在网状态查询API接口如何对接?
  • 【Axure高保真原型】动态柱状图
  • Redis中set数据类型的内部编码及使用场景
  • 5、vim编辑和shell编程【超详细】
  • TypeScript基础教程
  • 第二章:chrony服务器
  • LLM面试题二
  • 高通camx IOVA内存不足,导致10-15x持续拍照后,点击拍照键定屏无反应,过一会相机闪退