What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

There is no reliable, universal percentage. Headless Chrome removes the visible browser interface, but current Chrome uses a unified implementation for headless and headful modes. Memory and CPU depend on the Chrome build, operating system, page, automation workload, concurrency, browser lifetime and the metric you choose. An older Selenium load-test measured lower resource use in its headless setup, but those figures describe that experiment—not what every current machine will save.

What “headless” means in current Chrome

Chrome’s documentation describes Headless mode as running “in an unattended environment, without any visible UI.” The updated mode creates platform windows but does not display them. Current headful and unified Headless modes therefore share the same broad Chrome implementation; headless is not automatically a small, separate browser.

Puppeteer also exposes chrome-headless-shell, the older Headless implementation distributed separately. Headless Shell does not match regular Chrome completely and is described as more performant for automation that does not need the full Chrome feature set. A comparison between unified Headless and visible Chrome is a different question from a comparison between Headless Shell and either one.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What the available comparison actually found

A 2019 master’s thesis by Shahnaz Mohammedi Shariff measured Selenium load tests with 10 user instances. It sampled browser, ChromeDriver and Selenium-script processes each second and reported median and 95th-percentile values. Its chart showed the following median values:

#1 Best Overall
Timetec 16GB KIT(2x8GB) DDR3L / DDR3 1600MHz (DDR3L-1600) PC3L-12800 / PC3-12800 Non-ECC Unbuffered 1.35V/1.5V CL11 2Rx8 Dual Rank 240 Pin UDIMM Desktop PC Computer Memory RAM(SDRAM) Module Upgrade
  • [Color] PCB color may vary (black or green) depending on production batch. Quality and performance remain consistent across all Timetec products.
  • DDR3L / DDR3 1600MHz PC3L-12800 / PC3-12800 240-Pin Unbuffered Non-ECC 1.35V / 1.5V CL11 Dual Rank 2Rx8 based 512x8
  • Module Size: 16GB KIT(2x8GB Modules) Package: 2x8GB ; JEDEC standard 1.35V, this is a dual voltage piece and can operate at 1.35V or 1.5V
  • For DDR3 Desktop Compatible with Intel and AMD CPU, Not for Laptop
  • Guaranteed Lifetime warranty from Purchase Date and Free technical support based on United States
Configuration Median CPU shown in chart Median memory shown in chart
Headless Chrome 54% 6.1%
Regular Chrome 122% 13%
Regular Chrome with Xvfb 84% 6.7%

These are chart readings from that Selenium experiment, not percentage savings. Do not subtract or divide them and present the result as an expected improvement for a current deployment. CPU accounting, the browser version, operating system and display stack, page workload, process selection and concurrency all affect whether the numbers transfer.

The same thesis’s separate 10-minute idle/busy experiment shows why one headline number is misleading. Idle instances can retain resources after loading a page, while active instances produce different CPU and memory readings. Its 95th-percentile chart also differs from its median chart. A capacity plan based only on a median can therefore miss short periods that exhaust a worker.

Why savings vary from one workload to another

Page and script activity

A static document, a JavaScript-heavy application and a page continuously animating or polling exercise different renderer, compositor and JavaScript processes. The mode change alone does not make those workloads equivalent.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Startup versus steady state

Launching Chrome creates a different cost from keeping a browser alive for many navigations. Measure startup separately from a warmed, steady-state session; otherwise a short test can make launch overhead dominate the result.

Concurrency and browser lifecycle

Ten isolated browser instances, ten tabs in one browser, and a pool that reuses contexts have different process trees and contention. State whether you reuse a browser, restart it for each job, or keep it alive between jobs.

Rank #2
Crucial 16GB DDR4 RAM, 3200MHz CL22 (or 2933MHz or 2666MHz) Laptop Memory, SODIMM 260-Pin, Compatible with 13th Gen Intel Core and AMD Ryzen 7000 - CT16G4SFRA32A
  • Boosts System Performance:16GB DDR4 laptop memory that operates at 3200MHz to improve multitasking and system responsiveness for smoother performance
  • Easy Installation: Upgrade your laptop RAM with ease—no computer skills required Follow step-by-step how-to guides available at Crucial for a smooth, worry-free installation
  • Compatibility Guaranteed: Ensure seamless compatibility with your laptop by using the Crucial System Scanner or Crucial Upgrade Selector—get accurate recommendations for your specific device
  • Trusted Micron Quality: Backed by 42 years of memory expertise, this DDR4 RAM is rigorously tested at both component and module levels, ensuring top performance and reliability for your Mac system
  • ECC Type = Non-ECC, Form Factor = SODIMM, Pin Count = 260-pin, PC Speed = PC4-25600, Voltage = 1.2V, Rank and Configuration = 1Rx8 or 2Rx8

Idle versus active periods

Memory retained after navigation and CPU during interaction are separate operational concerns. Capture both an idle window and a representative busy window, rather than treating an idle sample as the cost of a user journey.

Metric definitions

“Memory” can mean resident set size, proportional set size, a browser-process total or a container’s working set. “CPU” might be a process percentage, host utilization or container CPU time. A result without those definitions cannot be compared safely with another result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How to benchmark headless and headful Chrome fairly

Use a matched experiment and publish enough detail that another engineer can reproduce it.

  1. Fix the software and host. Use the same Chrome build, driver or automation library, operating system, kernel, container limits, viewport and device emulation in both runs.
  2. Keep the page set identical. Use the same URLs, authentication state, cookies, network conditions and test data. Record whether resources are served from a local cache or fetched over the network.
  3. Change only the display mode. Run visible Chrome and unified Headless with the same browser arguments and automation actions. If you test Headless Shell, report it as a third configuration, not as the same headless result.
  4. Choose a lifecycle. Decide whether each iteration launches a browser, creates a new context, opens a tab or reuses an existing page. Apply that policy to every mode.
  5. Separate phases. Record launch, navigation, active interaction and idle retention in distinct observation windows. Discard warm-up samples only when you document that decision.
  6. Use the same concurrency. Run the same number of simultaneous instances or pages and repeat the test enough times to expose run-to-run variation.
  7. Record CPU and memory independently. On Linux, tools such as pidstat, ps and /usr/bin/time -v can capture process CPU and resident memory; containerized jobs should also record the container limit and cgroup usage. On Windows, use consistent Performance Monitor counters. Do not mix host-wide CPU with a single-process memory value.
  8. Report distributions. Publish at least the median and a high percentile such as the 95th. Include the sample interval, observation duration, process-inclusion rule and whether values are per instance or for the whole test.
  9. Repeat and label uncertainty. Report the Chrome version, platform, workload and date beside every number. If a run is a one-off, call it a one-off rather than a general saving.

Chromium’s memory-benchmark guidance treats a benchmark as a combination of user stories and metrics, with repeated runs and system-health measurements. That model is more useful than a synthetic “headless uses X% less” claim because it ties resource use to the work your service actually performs.

Choosing between unified Headless, headful Chrome and Headless Shell

Option Best fit What to verify
Unified Headless Automation that needs current Chrome behavior without a displayed UI Compatibility with your pages, extensions, media, graphics and automation library
Headful Chrome Interactive debugging, visual inspection or workflows that require a displayed browser Display-server setup and the same workload conditions used in your comparison
chrome-headless-shell Automation that can accept a separate, less complete implementation Feature compatibility, startup behavior and resource use for your exact jobs

There is no current controlled comparison here that establishes a universal ranking for CPU, memory or concurrency capacity. Benchmark the option against your compatibility requirements and report high-percentile behavior, not just an attractive median.

Rank #3
A-Tech DDR4 RAM 8GB 2666MHz PC4-21300 SODIMM Laptop Memory
  • A-Tech 8GB RAM Module, DDR4 SO-DIMM 260-Pin, 2666MHz / 2667MHz PC4-21300 (PC4-2666V)
  • Non-ECC Unbuffered, JEDEC DDR4 Standard 1.2V Operating Voltage
  • Compatible with select DDR4 SODIMM capable Laptop, Notebook, Mini PC, and All-in-One (AIO) computer systems. Please verify your system's memory type, form factor, and maximum supported capacity before purchasing
  • Not compatible with desktop (DIMM), DDR2, DDR3, DDR5, ECC Registered (RDIMM), ECC Load Reduced (LRDIMM), or ECC Unbuffered (ECC UDIMM) memory types
  • Increases available memory capacity to enhance system responsiveness, application performance, and multitasking capabilities.

Interpreting a result without overstating it

  • Say “in this test, the headless configuration recorded a lower median” rather than “headless saves 56% of CPU.”
  • Identify whether the number is median, 95th percentile, idle, active, startup or steady state.
  • State whether memory is per process, all Chrome processes, a container working set or another metric.
  • Keep unified Headless and Headless Shell in separate rows and separate conclusions.
  • Include concurrency and page workload; a result at one instance count does not establish capacity at another.

Troubleshooting a misleading benchmark

Headless appears no lighter

Check that you changed only the display mode. A different viewport, disabled GPU path, cache state, page timing or browser lifecycle can outweigh the mode difference. Verify that the same Chrome build and process-inclusion rule were used.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CPU spikes are much higher than the median

Inspect the 95th percentile and the timeline around navigation, JavaScript execution and screenshots. A median hides short bursts; size workers for the high percentile that your service can tolerate.

Memory rises after each iteration

Distinguish retained browser state from a measurement artifact. Confirm whether tabs, contexts and browser processes are actually closed, and record the process tree rather than one child process. Compare a fresh-browser run with a reuse run.

Headless Shell is faster but a page breaks

Treat the speed result and compatibility result as separate decisions. Re-run the page using unified Headless and document the feature that Headless Shell does not support in your workflow instead of substituting its performance number.

Results change between machines

Pin the OS image, CPU allocation, memory limit, Chrome build and workload data. Report the host and container constraints with the result; a percentage from one platform is not portable evidence.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Crucial 8GB DDR4 RAM 3200MHz (PC4-25600), Downclockable to 2933/2666MHz Laptop Memory, SODIMM 260-Pin CL22, Compatible with 13th Gen Intel Core and AMD Ryzen 7000 - CT8G4SFRA32A
  • Boosts System Performance: 8GB DDR4 laptop memory that operates at 3200MHz, 2933MHz, or 2666MHz to improve multitasking and system responsiveness for smoother performance
  • Easy Installation: Upgrade your laptop RAM with ease—no computer skills required Follow step-by-step how-to guides available at Crucial for a smooth, worry-free installation
  • Compatibility Guaranteed: Ensure seamless compatibility with your laptop by using the Crucial System Scanner or Crucial Upgrade Selector—get accurate recommendations for your specific device
  • Trusted Micron Quality: Backed by 42 years of memory expertise, this DDR4 RAM is rigorously tested at both component and module levels, ensuring top performance and reliability
  • ECC Type Non-ECC, Form Factor SODIMM, Pin Count 260-pin, PC Speed PC4-25600, Voltage 12V, Rank and Configuration 1Rx16, 1Rx8 or 2Rx8
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your goal is a dependable website image rather than measuring browser resource use, ScreenshotNeo provides a single HTTP request. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and whether the shot was billed. Its MCP server includes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.

See the ScreenshotNeo API documentation for all options, including full-page and element captures, device presets, custom CSS and JavaScript, waits, request blocking, cookies, headers, geolocation, PDFs, caching, signed links, asynchronous jobs and bulk capture.

cURL

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; Growth is $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000 and Business $249 for 1,000,000. Yearly billing gives two months free, and every feature is available on every plan. Create a free ScreenshotNeo account.

FAQ

Can I apply the thesis’s CPU and memory values to a modern server?

No. They are historical chart values from one Selenium design. Use them as evidence that a headless setup can be lighter in a particular test, not as a capacity formula.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should a benchmark publish only one summary number?

No. At minimum, label the median and a high percentile, and identify the workload phase and metric definition for each.

Is Headless Shell simply another name for current Headless?

No. Puppeteer distinguishes the separate Headless Shell implementation from unified Headless, and feature compatibility must be checked before treating them as interchangeable.

Best Value
Timetec 8GB DDR3L / DDR3 1600MHz (DDR3L-1600) PC3L-12800 / PC3-12800(PC3L-12800S) Non-ECC Unbuffered 1.35V/1.5V CL11 2Rx8 Dual Rank 204 Pin SODIMM Laptop Notebook PC Computer Memory RAM Module Upgrade
  • [Specs] DDR3L / DDR3 1600MHz PC3L-12800 / PC3-12800 204-Pin Unbuffered Non ECC 1.35V CL11 Dual Rank 2Rx8 based 512x8
  • [Size] Module Size: 8GB Package: 1x8GB
  • [Voltage] JEDEC standard 1.35V, this is a dual voltage piece and can operate at 1.35V or 1.5V
  • [Compatibility] Compatible with DDR3 Laptop / Notebook PC, Mini PC, All in one Device
  • [Color] PCB Color is Green

Frequently Asked Questions

Can I apply the thesis’s CPU and memory values to a modern server?

No. They are historical chart values from one Selenium design. Use them as evidence that a headless setup can be lighter in a particular test, not as a capacity formula.

Should a benchmark publish only one summary number?

No. At minimum, label the median and a high percentile, and identify the workload phase and metric definition for each.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is Headless Shell simply another name for current Headless?

No. Puppeteer distinguishes the separate Headless Shell implementation from unified Headless, and feature compatibility must be checked before treating them as interchangeable.

The Bottom Line

Headless Chrome may use less CPU or memory in a matched workload, but no universal saving percentage is established. Measure unified Headless, headful Chrome and Headless Shell separately, using identical workloads and clearly labeled median and high-percentile metrics.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.