hi @jaehyoyoo !!
Welcome to our community
Considering our docs on that subject, indeed vectorCacheMaxObjects
has a direct impact on memory usage.
If you have more objects than vectorCacheMaxObjects
, a disk lookup will be necessary, making your database less performant.
When you restart, Weaviate will fill in that cache, so following searches will be faster. Whenever that cache fills up, Weaviate will drop it, and start replacing it as requested.
If you want to control the memory Weaviate uses at the memory level, you need to change the value of GOMEMLIMIT, as described here:
We have this nice article that do a deep dive into GOMEMLIMIT in Weaviate:GOMEMLIMIT is a game changer for high-memory applications | Weaviate
Let me know if this helps!
Thanks!