How Firefox's Process Manager Tracks CPU and RAM Usage

This article explains the underlying mechanisms of the Firefox Process Manager and how it tracks and displays real-time system resource usage. By utilizing the about:processes page or the Shift+Esc keyboard shortcut, users can monitor the exact CPU percentage and RAM consumption of individual tabs, background processes, and isolated subframes. This guide covers how Firefox's multi-process architecture enables this granular tracking, how the browser queries the operating system for hardware metrics, and how the data is calculated and presented in real time.

Accessing the Process Manager

Firefox includes a built-in task manager that does not require external extensions. You can open it at any time by typing about:processes into the address bar and pressing Enter, or by pressing the Shift+Esc keyboard shortcut. Once opened, the interface immediately begins polling system resources and displaying an updating list of everything currently running inside the browser.

The Role of Site Isolation (Project Fission)

Firefox's ability to show resource usage per tab and per subframe relies entirely on its multi-process architecture, specifically a security and performance feature known as Site Isolation (or Project Fission).

Instead of running the entire browser in a single system process, Firefox splits workloads into multiple independent operating system processes. Under Site Isolation, different websites—and even cross-origin subframes (such as embedded videos, advertisements, or social media widgets inside a webpage)—are locked into their own separate content processes. Because the operating system treats each isolated site and subframe as an individual program with its own Process ID (PID), Firefox can accurately measure the exact resources each component consumes without having to guess.

How Real-Time CPU Percentage is Calculated

To display the real-time CPU percentage, the Process Manager continuously takes snapshots of processor activity at regular intervals (typically every one to two seconds).

  1. OS Polling: Firefox queries the underlying operating system (Windows, macOS, or Linux) to find out how much CPU time (measured in milliseconds or nanoseconds) each specific Firefox PID and its internal threads have used since the browser started.
  2. Calculating the Delta: The Process Manager compares the current CPU time of a process against the CPU time recorded during the previous snapshot.
  3. Percentage Conversion: It divides the difference in CPU time by the actual real-world time that elapsed between the two snapshots. For example, if a tab's process used 500 milliseconds of CPU time over a 1,000-millisecond (1 second) interval, the Process Manager displays the usage as 50%.

If a process drops to near-zero activity, the Process Manager drops the percentage and eventually labels the process as "Idle" to make the table easier to read.

How RAM Consumption is Measured

Measuring memory per tab and subframe is handled by combining operating system metrics with Firefox's internal memory reporters.

Because every isolated tab and cross-origin subframe runs in its own content process, Firefox asks the operating system for the memory footprint of each specific PID. To give you the most accurate number, Firefox primarily looks at private memory—the exact amount of RAM that a specific process is using on its own, excluding memory that is shared across the entire browser (such as core browser code or shared graphics libraries).

If you close a specific tab or subframe, the RAM number shown in about:processes represents the approximate amount of memory that will be immediately freed up and returned to your computer.

Mapping Data to Tabs and Subframes in the UI

The Process Manager translates raw PID data into a human-readable hierarchy:

  • Site Processes: The main rows in the list represent the isolated processes, usually labeled by the domain name (e.g., example.com) and its corresponding PID. The total RAM and CPU usage for that domain are shown on this main line.
  • Individual Tabs: Directly beneath a site's process, Firefox indents and lists the open tabs associated with that domain. If you have three tabs open from the same website, they share that specific content process.
  • Subframes: If a tab contains embedded content from a different website (like a third-party payment portal or an ad network), Firefox renders that subframe in a completely different process. However, for your convenience, the Process Manager visually groups and indents these subframes underneath the parent tab you are currently viewing, while still displaying the independent CPU and RAM metrics gathered from the subframe's separate PID.
  • System Processes: Alongside web content, the manager also isolates and tracks the main browser interface (Parent Process), extensions, the GPU process, and network utilities, ensuring total visibility into the browser's total system impact.