Book Image

Deploying Node.js

By : Sandro Pasquali
Book Image

Deploying Node.js

By: Sandro Pasquali

Overview of this book

Table of Contents (14 chapters)
Deploying Node.js
About the Author
About the Reviewers

Profiling processes

When tracing memory leaks and other hard-to-find bugs, it is useful to have profiling tools at the ready. What we will look at in this section is how to take snapshots of running processes and how to draw useful information out of them.

Node already provides some process information natively. Basic tracking of how much memory your Node process is using is easy to fetch with process.memoryUsage():

{ rss: 12361728, heapTotal: 7195904, heapUsed: 2801472 }

There are also modules available to track a little more information on processes. For example, the usage module ( delivers straightforward memory and CPU usage information. To probe the current process, use the following code:

var usage = require('usage');
usage.lookup(, function(err, result) {

This delivers the following result:

{ memory: 15093760,
  memoryInfo: { rss: 15093760, vsize: 3109531648 },
  cpu: 3.8 }

Here, we see the total process memory usage...