高级会员

- 积分
- 779
- 金钱
- 779
- 注册时间
- 2014-8-14
- 在线时间
- 245 小时
|
本帖最后由 Cindre鞡 于 2026-1-5 14:42 编辑
在linux开发板上做了个音频播放器,偶然发现在播放音频时,ram的占用一直在以124字节左右增加,我以为是内存泄漏,没有对应的使用free,查找半天,咨询AI,结果发现是fopen后,内核会自动创建缓存以增加IO性能
下图是deepseek给出的可能的原因
在命令行使用:echo 1 > /proc/sys/vm/drop_caches,即可手动清除这些缓存
或者在程序中调用下面的代码,也可以清除缓存
- void system_clean_cached(void)
- {
- sync();
- system("echo 1 > /proc/sys/vm/drop_caches");
- }
复制代码
根据DS的说法,这些缓存并不影响使用,即使后边需要的ram超过当前剩余,系统会自动释放这些缓存来满足程序的ram需求
|
|