8%|▊ | 324/4200 [00:09<00:54, 70.87it/s]
Traceback (most recent call last):
File "E:\sdxxdate\cubicasa5k(2)\create_lmdb.py", line 68, in <module>
main(args, logger)
File "E:\sdxxdate\cubicasa5k(2)\create_lmdb.py", line 34, in main
txn.put(f.encode('ascii'), pickle.dumps(elem))
lmdb.MapFullError: mdb_put: MDB_MAP_FULL: Environment mapsize limit reached
更改了map_size的大小仍然报错,求解答啊
引用 皆我百晓生 小程序回复内容作答:
lmdb.MapFullError: MDB_MAP_FULL: Environment mapsize limit reached 是由于lmdb数据库的大小限制已经达到了最大值。你可以尝试以下解决方案:
增加map_size的大小:你提到你已经更改了map_size的大小,但仍然报错。确保你在更改map_size之后重新运行代码,否则更改可能不会生效。另外,尝试增大map_size的值,以便为数据库提供更多的存储空间。
检查数据库的大小:在代码运行过程中,检查数据库的大小是很重要的。你可以使用lmdb库提供的txn.stat()方法来获取数据库的大小,然后与map_size进行比较,以确保数据库的大小没有超过map_size。
删除不必要的数据:如果数据库中包含了不必要的数据,可以考虑删除这些数据来释放空间。你可以使用lmdb库提供的txn.delete()方法来删除数据。
优化代码逻辑:如果你的代码中有一些不必要的操作或者冗余的写入操作,可以尝试优化代码逻辑,减少数据写入的次数,从而减小数据库的大小。
如果以上方法都无法解决问题,你可能需要考虑使用其他更适合你的数据存储需求的数据库或者存储方式。
【相关推荐】