Вы уже задавали этот вопрос в другой ветке форума, и мы вам там ответили :)
Потребление памяти системой iiko
Но могу и продублировать здесь:
На самом деле, томкат жрет память не потому что глючный, а чтобы пересчет быстро происходил. В память забирается, конечно же, не вся база, а только открытый период: так специально сделано, чтобы обеспечить быстрый пересчет документов и транзакций (это нужно для работы задним числом в реальном времени).
Для обычного ресторана рекомендованный объем памяти на сервере 4—8Гб, процессор - core i5. На серверах такой конфигурации вполне комфортно работает большинство пользователей iiko.
Разумеется, если мы говорим о сетевом решении, надо понимать, что центральная БД содержит полные копии всех БД всех ресторанов. Поэтому, ресурсы, требуемые для работы iikoChain, прямо пропорционально зависят от кол-ва ресторанов (для iikoChain с двумя ресторанами вполне запросто потребуется 10-16Гб оперативной памяти на сервере).
Есть две тонкости:
1) Если держать открытый период больше двух месяцев, то памяти нужно будет еще больше, и клиенты не всегда это понимают. Лучше изначально ориентировать клиента, что работать "задним числом" можно будет только в пределах 2-3 месяцев.
2) MS SQL, если его не админить, со временем начинает потреблять больше памяти. Поэтому, нужно его периодически обслуживать: прогонять скрипты оптимизации индексов, чистить логи и т.д.