The Pertanyaan SO / jawaban terkait dengan quanta di komentar benar, "Working set" pada dasarnya adalah jumlah data dan indeks yang akan aktif / digunakan oleh sistem anda.
Anda tidak dapat mengetahui dari db.stats()
apa jadinya nanti kecuali Anda berpikir bahwa Anda perlu memiliki seluruh rangkaian data dan seluruh indeks dalam RAM. Artinya, Anda bisa bekerja di luar set kerja maksimum untuk database itu, tetapi tidak set kerja aktif yang sebenarnya. Maksimum adalah jumlah dari:
- dataSize - Ukuran total data yang disimpan dalam database ini
- indexSize - Ukuran total semua indeks yang dibuat pada database ini
Dalam kasus Anda, maksimum itu akan menjadi sekitar 30,45 MiB mengingat output yang Anda tempel.
Untuk melacak penggunaan memori aktual, saya akan merekomendasikan kombinasi angka-angka dari db.stats()
dan grafik memori (khususnya memori penduduk) yang tersedia di alat pemantauan gratis - MMS .
Pembaruan (04/08/2013):
Versi 2.4 menambahkan Pengukur Ukuran Set Kerja ke perintah serverStatus - ini hanya perkiraan, tetapi dapat digunakan sebagai panduan dan untuk memeriksa apakah angka dan estimasi lainnya di atas masuk akal untuk Anda misalnya MongoDB.
Pembaruan (September 2016):
Tiga tahun setelah jawaban asli saya dan banyak hal yang jauh lebih rumit - umumnya mendapatkan ukuran data Anda dan indeks Anda masih merupakan titik awal yang baik. Tapi, mencari tahu hal-hal di MongoDB sekarang akan tergantung pada mesin penyimpanan apa yang Anda gunakan. Selain itu, Versi 3.0 menghapus estimator Perangkat Kerja yang ditautkan di atas untuk MMAP sebagai bagian dari pekerjaan penguncian tingkat koleksi (lihat SERVER-13783 ). Sekarang ada (misalnya) statistik cache untuk WiredTiger
mesin sebagai pengganti dengan asumsi Anda telah melakukan lompatan ke mesin baru. Sebab MMAP
, rekomendasi umum adalah melihat metrik kesalahan halaman sebagai proksi apakah data Anda sesuai dengan memori atau tidak.