Я создал базу данных на основе файла черепахи (размером ~ 4,5 Гб) с помощью rdflib
и начал запрашивать ее с помощью SPARQL, все работало гладко, но через некоторое время я начинаю получать эту ошибку:
MemoryError: (12, «Невозможно выделить память - BDB2034 не может выделить память для мьютекса; изменить размер области мьютекса»)
Полный вывод:
File "/usr/local/lib/python3.6/site-packages/rdflib/graph.py", line 377, in open
return self.__store.open(configuration, create)
File "/usr/local/lib/python3.6/site-packages/rdflib/plugins/sleepycat.py", line 167, in open
self.__namespace.open("namespace", dbname, dbtype, dbopenflags, dbmode)
MemoryError: (12, 'Cannot allocate memory -- BDB2034 unable to allocate memory for mutex; resize mutex region')
Минимальный сценарий:
from rdflib import ConjunctiveGraph, Namespace, Literal
from rdflib.store import NO_STORE, VALID_STORE
db_path = "my_db"
g = ConjunctiveGraph('Sleepycat')
# Open the DB
g.open(db_path, create=False) # <--- this line causes the error
Я не знаю причину проблемы, я проверил, достаточно ли у меня оперативной памяти, использования процессора и дискового пространства, все было в порядке, я перезагрузил компьютер, ноошибка сохранилась