ideawu / ssdb

SSDB - A fast NoSQL database, an alternative to Redis
http://ssdb.io/
BSD 3-Clause "New" or "Revised" License
8.19k stars 1.4k forks source link

手动执行compact后data文件夹大小变为之前2倍 #1348

Closed sagrada1788 closed 4 years ago

sagrada1788 commented 4 years ago

环境: ssdb-server 1.9.8 centos 7.6.1810

1 启动ssdb后只写不读,写入大量数据完毕,此时data约2T。 2 然后重启,重启后cpu200%几小时后降到0%,此时data文件夹增加了几百G。 3 然后手动执行compact,执行完后/data变成了4T,其中文件数量也变为开始时的两倍

手动执行compact后磁盘空间没有减少,反而变为原来的两倍,请问该如何清理

sagrada1788 commented 4 years ago

重启后发现自动清理了,还有一个问题,发现内存占用比公式计算大很多,配置如下 leveldb:

in MB

cache_size: 8000
# in MB
write_buffer_size: 5
# in MB/s
compaction_speed: 1000
# yes|no
compression: yes

按照公式计算内存上限在11G多,实际上会占用大概28G多内存

ideawu commented 4 years ago

应该是你的服务比较繁忙, 即使 compaction 之后, 还有一部分文件没有释放. 你检查一下是否有主从同步在复制. 如果可以, 重启 ssdb-server.

sagrada1788 commented 4 years ago

重启后自动删除了旧文件,恢复到2T了,谢谢