您尚未登录。

楼主 #1 2019-12-21 10:59:49

迪卡
会员
所在地: 河北
注册时间: 2018-11-02
已发帖子: 916
积分: 903
个人网站

F1C200S QT4 跑一下原来的demo,做下记录

d64d4392f862fa0.jpgIMG_20191221_105237.jpga33sd.png



内存占用不是很多呢

离线

#2 2019-12-21 14:37:50

mango
会员
所在地: 芒果派1
注册时间: 2017-12-02
已发帖子: 780
积分: 731

Re: F1C200S QT4 跑一下原来的demo,做下记录

这个内存占用不错,即使是出正规产品也不用担心






歪朵拉开源硬件: https://widora.cn
淘宝:  https://widora.taobao.com/

离线

#3 2019-12-21 15:09:14

赚他一个亿
会员
注册时间: 2019-12-21
已发帖子: 7
积分: 7

Re: F1C200S QT4 跑一下原来的demo,做下记录

1.7M的buff, 和13.3M的cache, 系统会时释放的。

buffers/cache占用的较多,说明系统中有进程曾经读写过文件,但是不要紧,这部分内存是当空闲来用的

Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。所以一般情况下,我们认为buffer/cache空间可以被释放,这个理解是正确的。
但是这种清缓存的工作也并不是没有成本。理解cache是干什么的就可以明白清缓存必须保证cache中的数据跟对应文件中的数据一致,才能对cache进行释放。所以伴随着cache清除的行为的,一般都是系统IO飙高。因为内核要对比cache中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。
在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的操作:

echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。

https://blog.csdn.net/u014520745/article/details/79949874

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn