OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 42|回复: 0

关于Linux(4.1.15)非内存泄漏但使用增加的问题

[复制链接]

21

主题

130

帖子

0

精华

高级会员

Rank: 4

积分
779
金钱
779
注册时间
2014-8-14
在线时间
245 小时
发表于 3 天前 | 显示全部楼层 |阅读模式
本帖最后由 Cindre鞡 于 2026-1-5 14:42 编辑

在linux开发板上做了个音频播放器,偶然发现在播放音频时,ram的占用一直在以124字节左右增加,我以为是内存泄漏,没有对应的使用free,查找半天,咨询AI,结果发现是fopen后,内核会自动创建缓存以增加IO性能
下图是deepseek给出的可能的原因
PixPin_2026-01-05_14-36-26.jpg

在命令行使用:echo 1 > /proc/sys/vm/drop_caches,即可手动清除这些缓存
或者在程序中调用下面的代码,也可以清除缓存
  1. void system_clean_cached(void)
  2. {

  3.         sync();
  4.         system("echo 1 > /proc/sys/vm/drop_caches");

  5. }
复制代码


根据DS的说法,这些缓存并不影响使用,即使后边需要的ram超过当前剩余,系统会自动释放这些缓存来满足程序的ram需求


IMG_7464.jpeg




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-1-8 22:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表