FIX Service Worker High CPU in Chrome: 5 Solutions (2026)
Service worker high CPU in Chrome is background scripts polling silently. Spot the offender in Task Manager and stop it without losing features, fast to deep.
Key takeaways
- A service worker with a polling loop pins CPU indefinitely after you close the tab. The tab closing doesn’t stop it.
- Go to
chrome://serviceworker-internals/, find workers with Status: Running, click Stop then Unregister to kill them.- Forgotten MV3 extensions each run their own service worker. Disable any extension you no longer actively use.
You close a tab and the CPU stays pinned. Chrome Task Manager shows “Service Worker: https://example.com” burning 15% CPU — but that site is not even open. Service workers are background JavaScript processes installed by websites to handle push notifications, offline caching, and background sync. Unlike regular page scripts, they persist after you close the tab. A buggy or deliberately aggressive one can run indefinitely without you knowing it is there.
Quick Diagnosis
| What you see in Task Manager | Likely cause | Fix |
|---|---|---|
| ”Service Worker: [site name]” with high CPU | That site’s worker has a bug or polling loop | Fix 1: Unregister the worker |
| ”Service Worker: chrome-extension://…” with high CPU | Extension worker with frequent alarms | Fix 2: Identify and disable the extension |
| CPU drops when you close a specific tab but climbs back | Worker keeps running after tab close | Fix 1 |
| High CPU scattered across many workers | Too many PWAs or tabs open | Fix 3: Reduce active tabs |
Fix 1: Unregister the Service Worker
Service workers can be forcibly removed without uninstalling the site or extension. The worker will reinstall the next time you visit the site, but unregistering breaks whatever stuck loop it is in.
- Navigate to
chrome://serviceworker-internals/in your address bar. - You will see a list of every registered worker — each entry shows the origin (website URL or extension ID) and current status.
- Look for workers with Status: Running — a worker that has been running continuously without user interaction is doing something it should not.
- Click Stop to immediately halt it.
- Click Unregister to remove it permanently.
- If the same worker becomes problematic repeatedly, block the site’s background sync (see Fix 4 below).
Fix 2: Identify and Disable the Extension
Every MV3 extension runs its own service worker (this has been the case since MV3 launched). An extension you installed years ago and forgot about may be polling in the background right now.
- Press Shift + Esc to open Chrome Task Manager.
- Look for rows labeled “Service Worker: chrome-extension://[ID]”.
- To match the ID to an extension name: go to
chrome://extensions/, click Details on each extension, and check the ID in the URL. - Disable any extension you do not actively use — they keep running background workers whether you use them or not.
- If a specific extension has a stuck worker, check for updates at
chrome://extensions/and click Update.
Fix 3: Reduce Active Tabs and PWAs
Progressive Web Apps (PWAs) — like Slack, Spotify Web, and similar tools — register service workers on installation. Five open PWA tabs means five concurrent background workers.
- Close PWA tabs when not in active use — the service worker will still run but typically becomes idle.
- Use installed desktop apps (Slack, Spotify) instead of their web versions when possible — native apps do not use Chrome service workers.
- Go to Settings > Performance and enable Memory Saver — suspended tabs have their associated service workers throttled.
Fix 4: Block Background Sync for Problem Sites
Background sync allows service workers to re-try failed operations when connectivity returns, but some sites abuse it for tracking.
- Go to
chrome://settings/content/backgroundSync. - Under Not allowed to sync in the background, click Add and enter the domain of the problematic site.
- This prevents that site’s service worker from registering new sync events.
Fix 5: Hard Reload the Page
Sometimes a service worker gets stuck on a stale, buggy version of its script. A hard reload forces the browser to check for updates.
- Navigate to the problematic site.
- Press Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (macOS).
- This bypasses the cache and forces a new service worker script download.
- If the worker was stuck on a buggy version, the updated script may resolve the CPU usage.
Common Service Worker Offenders
Not all service workers are equal. The highest CPU consumers:
| Source | Behavior | Fix |
|---|---|---|
| News sites (BBC, NYT, etc.) | Poll for push notifications every few minutes | Unregister at chrome://serviceworker-internals |
| PWAs (Slack, Spotify Web) | Cache maintenance loops with multiple open tabs | Close unused PWA tabs |
| Ad networks | Service workers caching ad assets — do not show the site name in Task Manager | Block at the network level |
| MV3 extensions | Background polling via chrome.alarms API | Disable unused extensions |
How to Audit All Service Workers
- Open
chrome://serviceworker-internals— this lists every registered service worker across all origins. - Check the Status column — workers should show as Stopped when idle. A worker showing Running for more than a few seconds is doing continuous work.
- Click Stop to test whether it reduces CPU usage.
- If stopping the worker fixes the CPU issue, consider whether you need that site’s push notifications — if not, unregister and block background sync.
Limiting Service Worker CPU Accumulation
The manual fixes above handle individual problem workers. If you want ongoing protection, SuperchargePerformance reduces the conditions that let workers accumulate:
- Tab suspension via
chrome.tabs.discard()discards the renderer process for inactive tabs. While the service worker process itself can persist, suspended tabs generate far less service worker activity because the page context that would trigger worker events no longer exists. - Ad and tracker blocking at the network level (
declarativeNetRequest) blocks requests from ad networks that register service workers for tracking. Blocked network requests mean fewer cache operations and less service worker CPU. - Script blocking (free levels 1–2) stops social widgets and third-party scripts that register workers for analytics collection.
That said, the unregister and extension audit fixes above are free and effective — the extension is only worth adding if you want the broader memory and CPU management on top.
Technical Background
Service workers are designed to be ephemeral — they should wake up to handle an event (fetch request, push notification, background sync), complete the task, and stop. The browser is supposed to terminate idle workers automatically.
In practice, buggy implementations keep a long-lived fetch connection open (a “keep-alive” pattern) to poll for notifications or updates. As long as this connection is open, the service worker stays active and consumes CPU. Chrome does terminate workers that have been idle for more than a few minutes, but a worker with an open connection is never considered idle.
MV3 Chrome extensions also use service workers for their background scripts (replacing MV2 background pages). Extensions with frequent chrome.alarms timers or ongoing message passing will have consistently higher service worker CPU usage than extensions that only react to user events.
For related CPU and battery issues, see the articles on fixing Chrome battery drain and fixing Antimalware Service Executable high CPU.
Frequently Asked Questions
What are service workers in Chrome?
Why do service workers use so much CPU?
How do I stop service workers from draining CPU?
SuperchargePerformance
Tab suspension, ad blocking, and script control. Free.
Don't miss the next release
Be first to know when we ship something new.
Related Articles
FIX Chrome Battery Drain from Background Tabs (2026)
Background tab scripts silently drain your battery. Suspend idle tabs and block 186K tracker scripts to recover 2+ hours per charge on Chrome.
FIX Antimalware Service High CPU with Chrome: 5 Fixes (2026)
Antimalware Service high CPU with Chrome open is Windows Defender scanning Chrome's constant disk writes. Reduce file I/O and CPU drops 30–50% on most machines.
FIX Chrome Memory Leaks on macOS Tahoe: 5 Solutions (2026)
Chrome memory leaks on macOS Tahoe hit unified memory hard; no VRAM swap means fans spin fast. We diagnosed 7 causes and tested every fix that actually works.
FIX Chrome Network Service High CPU: 4 Fixes (2026)
Utility: Network Service high CPU means Chrome is processing background requests from idle tabs. Diagnose the source and cut network overhead with 4 fixes.