hdt-cpp icon indicating copy to clipboard operation
hdt-cpp copied to clipboard

rdf -> HDT process killed. Out of memory

Open ahmad88me opened this issue 4 years ago • 3 comments

Hi,

I have a server with 15 GB of RAM and a ttl of (~13 GB). It tried to generate HDT from the ttl but after some time the process just get killed by the OS (debian) with the following message (using dmesg | less):

Out of memory: Kill process 22472 (rdf2hdt) score 979 or sacrifice child

Is there a way around this without increasing the RAM? Is there a way to for example split the ttl into smaller chunks, convert each chunk to a separate HDT and then merge the HDT files together? or maybe append a chunk of ttl to an existing HDT?

Thanks in Advance.

ahmad88me avatar Mar 24 '21 12:03 ahmad88me

I found the mergeHDT. So I did another trial. I split the files into smaller sizes (<4 GB each). I converted them to HDT with no problem. Then when I tried to merge the HDTs, I encountered memory issue (bad malloc, which I think is related to a similar memory issue).

ahmad88me avatar Mar 25 '21 19:03 ahmad88me

Indeed, 13gb will overflow the memory. Maybe @wouterbeek has some suggestions from LODalot? Not sure what merge implementation you are referring to, but the Java version has hdtCat and that should be able to do these merges.

mielvds avatar Jun 03 '21 08:06 mielvds

Thanks for your reply. I am referring to this merge (https://github.com/rdfhdt/hdt-cpp/blob/332a9cc2d5273e76b9daad366f7d2f80adb6b3fc/libhdt/tests/mergeHDT.cpp)

ahmad88me avatar Jun 03 '21 11:06 ahmad88me