What I’m trying to do
I have a large obsidian vault. 20k notes, 50k images. I also use quite a few plugsin (dataview, datacore, omnicore, etc). The memory utilization gets quite high (often 6GB, I’ve seen it as high as 10GB). My suspicion is that the index is quite large. Since I don’t have paths in the image embeds, obsidian has to look to see where images are to display the embeds in the notes. I assume that is in the index.
Things I have tried
I have thought of two possible solutions. I prefer solution 1, but will do solution 2 if that’s the only way.
-
I can go in and add the full path from the vault root to the embed codes for each image (I know how to do this). Obsidian should would no longer need to search for the image. But I still need to keep them out of the index. I can go into “Files and Links”>“Excluded Files” and add the full path to the attachment directory, but I’m not convinced that removes them from the index. I did add the folder to be excluded and obsidian could still find the images for notes even though there wasn’t a path to them. I like this solution best because it leaves the images in the vault, but (hopefully) doesn’t clog up the index.
-
I would move the attachment file totally outside the vault but in the some folder as the folder vault. I could construct relative offset from the note to the images it uses (bunch of “../”'s and then a path). I would think this works, but it feels like a brittle solution. It may have the advantage that it gets them out of dataview’s/datacore’s index as well (and everyone else that has to have their own index).
I don’t need recommendations on how to write code to make the change. I’m just interested if anyone call tell me if either solution is likely to reduce the overall memory footprint of obsidian.
Alternative ideas of reducing memory utilization would also be appreciated.