Dari dokumentasi resmi ( sumber ):
process.memoryUsage ()
Mengembalikan objek yang menggambarkan penggunaan memori dari proses Node yang diukur dalam byte.
var util = require('util'); console.log(util.inspect(process.memoryUsage()));
Ini akan menghasilkan:
{ rss: 4935680, heapTotal: 1826816, heapUsed: 650472 }
heapTotal dan heapUsed merujuk pada penggunaan memori V8.
Apa sebenarnya yang dilakukan oleh rss , heapTotal , dan heaped ?
Ini mungkin tampak seperti pertanyaan sepele, tetapi saya sudah mencari dan saya tidak bisa menemukan jawaban yang jelas sejauh ini.
RSS adalah ukuran yang ditetapkan penduduk , bagian dari memori proses yang disimpan dalam RAM (sebagai lawan ruang swap atau bagian yang disimpan dalam sistem file).
The tumpukan adalah bagian dari memori dari mana objek baru dialokasikan akan datang dari (memikirkan
malloc
di C, ataunew
dalam JavaScript).Anda dapat membaca lebih lanjut tentang tumpukan di Wikipedia .
sumber
heapTotal
danheapUsed
?heapTotal
adalah total ruang tumpukan yang dialokasikan oleh mesin V8 yang mendasarinya, untuk alokasi dinamis.heapUsed
adalah memori yang digunakan dalam ruang total itu. Keduanya dikelola oleh V8, dan dapat tumbuh / menyusut kapan pun diperlukan.The Node.js doumentation menggambarkannya sebagai berikut:
Semua nilai yang disebutkan dinyatakan dalam byte. Jadi, jika Anda hanya ingin mencetaknya, Anda mungkin ingin mengubah skala menjadi MB:
Itu akan memberi Anda output seperti:
sumber
Mari kita lakukan ini dengan sebuah Contoh
Contoh berikut akan menunjukkan kepada Anda bagaimana peningkatan penggunaan memori sebenarnya akan meningkatkan
rss
danheapTotal
Menjalankan Di atas akan memberi Anda sesuatu seperti ini:
Ini jelas menunjukkan kepada Anda bagaimana menggunakan variabel dan terus menambah ruang yang dibutuhkan oleh itu meningkatkan heapTotal dan sesuai dengan Ukuran Set Residen (
rss
)sumber