Skip to content

🔬 Tiny Node cli tool to see a local app's memory footprint, cross-platform

License

Notifications You must be signed in to change notification settings

felixrieseberg/dennard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dennard

A tiny 0-dependencies cross-platform Node.js module that shows the memory footprint for applications. Named after Robert Dennard, inventor of DRAM.

Installation

npm i -g dennard

Usage

dennard name-of-app [-w|--watch]

dennard will wildcard-match all processes with the given name.

⚠️ On macOS, the tool needs to run as sudo. Internally, this module calls footprint, which requires sudo privileges.

dennard Chrome
┌──────────────────────────────┬───────────┬───────────────┐
│ name                         │ pid       │ megabytes     │
├──────────────────────────────┼───────────┼───────────────┤
│ Google Chrome Helper         │ 22801     │ 359.97        │
│ Google Chrome                │ 21721     │ 260.6         │
│ Google Chrome Helper         │ 21725     │ 242.6         │
│ Google Chrome Helper         │ 21730     │ 151.89        │
│ Google Chrome Helper         │ 36459     │ 130.96        │
│ Google Chrome Helper         │ 21739     │ 96.16         │
│ Google Chrome Helper         │ 21737     │ 75.79         │
│ Google Chrome Helper         │ 21746     │ 62.71         │
│ Google Chrome Helper         │ 21740     │ 56.5          │
│ Google Chrome Helper         │ 36125     │ 44.46         │
│ Google Chrome Helper         │ 21736     │ 37.01         │
│ Google Chrome Helper         │ 21738     │ 28.68         │
│ Google Chrome Helper         │ 57516     │ 22.93         │
│ crashpad_handler             │ 21723     │ 1.59          │
│ AlertNotificationService     │ 21728     │ 1.16          │
└──────────────────────────────┴───────────┴───────────────┘

 Total memory footprint: 1469.1MB

Memory Information

On Windows, dennard returns the size of the "working set". The working set consists of the pages of memory that were recently referenced by the process.

On macOS and Linux, dennard gathers the sum of dirty/anonymous allocations in one or more processes along with their attributable kernel resources (KPRVT). Shared allocations only contribute to the footprint once, regardless of the number of times that they are mapped into any number of processes. The goal is for the resulting number to be as close as possible to what the macOS Activity Monitor reports as Memory usage.

License

MIT, please see LICENSE for details

About

🔬 Tiny Node cli tool to see a local app's memory footprint, cross-platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages