armink / EasyFlash

Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB
MIT License
1.99k stars 760 forks source link

GC 无法解发,四个扇区都是满状态。 #156

Open zh0nglihua opened 1 year ago

zh0nglihua commented 1 year ago

16KB , 四个扇区,每个扇区都一样的内容。修改数据时,提示EF_ENV_FULL。 image

zh0nglihua commented 1 year ago

四个扇区的状态都是已满,干净状态,是不是就无法触发GC垃圾回收了

armink commented 1 year ago

是呀,你如果都没有脏的扇区的,是没法 GC 的。GC 就是对垃圾进行回收,如果扇区是脏的说明该扇区没有被删除的 KV ,也就是没有垃圾

zh0nglihua commented 1 year ago

找到了复现的方法,4个扇区,gc 阀值为1, 对写变量直行写压力测试,例如, 写wifi_pwd:abcd1234键值,每2分钟设备复位一下,不用半小时就触发了。

sunguangxian commented 3 months ago

找到了复现的方法,4个扇区,gc 阀值为1, 对写变量直行写压力测试,例如, 写wifi_pwd:abcd1234键值,每2分钟设备复位一下,不用半小时就触发了。

这个问题最终怎么解决的啊