That's insane. What do you have in your databases? The entire text of books? Memory usage is approximately:
constant1 + constant2 * size of metadata.db
because the entire metadata.db is laoded into RAM (but unpacked and stored in an object layout for speed). Custom columns behave no differently from builtin ones. For every column that you have the required memory goes up by size needed for an entry in the column * number of books in the library (technically it is not quite that large, because empty items use less memory for most column types). Both constant1 and constant2 are only approximately constants. I've made them constant only to simplify the discussion.
On my machine with a library with 50,000 books, calibre uses 600MB. With a library of 1000 books it uses 100MB.
The content server does not use any significant amounts of memory, but that is easy to test, simply turn it off and compare memory with it on and with it off.
|