SO вопрос / ответ связан квантами в комментариях является правильным, «Рабочий набор» в основном объем данных и индексов , которые будут активно / используется в вашей системе.
Вы не сможете понять, db.stats()
что это будет, если не думаете, что вам понадобится весь набор данных и весь индекс в ОЗУ. То есть вы можете определить максимальный рабочий набор для этой базы данных, но не фактический активный рабочий набор. Максимум это сумма:
- dataSize - общий размер данных, хранящихся в этой базе данных.
- indexSize - общий размер всех индексов, созданных в этой базе данных.
В вашем случае этот максимум будет примерно 30,45 МБ с учетом вставленного вами результата.
Для отслеживания фактического использования памяти я бы рекомендовал комбинацию цифр db.stats()
и графиков памяти (в частности, резидентной памяти), доступных в бесплатном инструменте мониторинга - MMS .
Обновление (08.04.2013):
Версия 2.4 добавила Оценщик размера рабочего набора к команде serverStatus - это всего лишь оценка, но она может использоваться в качестве руководства и для проверки того, имеют ли другие приведенные выше цифры и оценки смысл для вашего экземпляра MongoDB.
Обновление (сентябрь 2016 г.):
Прошло три года с моего первоначального ответа, и все стало намного сложнее - обычно получение размера ваших данных и ваших индексов остается хорошей отправной точкой. Но выяснение вещей в MongoDB теперь будет зависеть от того, какой механизм хранения вы используете. Кроме того, версия 3.0 удалила оценщик рабочего набора, связанный выше для MMAP, как часть работы по блокировке уровня сбора (см. SERVER-13783 ). Теперь есть (например) статистика кеша для WiredTiger
движка в качестве замены, если вы сделали переход на новый движок. Для MMAP
, общая рекомендация состоит в том, чтобы смотреть на страничных ошибок Метрика как прокси - сервер для того , что ваши данные установки в памяти или нет.