联系
我们
投稿
反馈
评论 返回
顶部

内容字号: 默认 大号超大号

段落设置: 段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

嵌入式系统节省内存的解决方法

2020-06-29 11:40 出处:互联网 人气: 评论(
秘制蒜香排骨 cba球员工资 奥运会奖牌 全国十大木门品牌 金斯顿大学 日本av女优排行榜 专科学校排名

0.0 0.0 /home/charles/tmp/test 1092 1092 2216

下面举个例子说明。

dlclose()后:

$ ps -p $(pidof test) -o %cpu,%mem,cmd,rss,rsz,vsz,trs

在dlopen执行前,程序内存使用:

0.0 1.0 /home/charles/tmp/test 42000 42000 43192 1

$ ps -p $(pidof test) -o %cpu,%mem,cmd,rss,rsz,vsz,trs

%CPU %MEM CMD RSS RSZ VSZ TRS

$ ps -p $(pidof test) -o %cpu,%mem,cmd,rss,rsz,vsz,trs

0.0 0.0 /home/charles/tmp/test 1092 1092 2216 1

$ ps -p $(pidof test) -o %cpu,%mem,cmd,rss,rsz,vsz,trs

%CPU %MEM CMD RSS RSZ VSZ TRS

%CPU %MEM CMD RSS RSZ VSZ TRS

$ gcc test.c -g -o test -ldl -l1 -L.

%CPU %MEM CMD RSS RSZ VSZ TRS

打开gdb,执行 gdb test,

$ gcc 1.c -shared -fpic -g -o lib1.so

嵌入式系统节省内存的解决方法

%CPU %MEM CMD RSS RSZ VSZ TRS

dlopen()执行后:

ps -p $(pidof test) -o %cpu,%mem,cmd,rss,rsz,vsz,trs

嵌入式系统节省内存的解决方法

执行 dlclose()后:

一种方法是把需要支持的功能做成共享库的形式,需要这个功能的时候加载共享库,不需要的时候卸载共享库,从而把内存释放出来。

打开APP阅读更多精彩内容

点击阅读全文

内存又恢复到上次的数值了。

可以看到,大部分用到的内存都释放掉了。

0.0 0.0 /home/charles/tmp/test 696 696 2084 1

0.0 1.0 /home/charles/tmp/test 42008 42008 43192 1

然后如果执行下一次循环, dlopen()后:

嵌入式系统内存往往是有限制的(成本考虑),因此需要尽量支持更多的功能,同时尽量减少使用的内存。

分享给小伙伴们:
本文标签:

更多文章

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

  • 蛮便宜
  • 抠门网
  • Copyright © 2002-2014 版权所有