0X00000875

Fix printer spooler 0X00000875 memory error

Hardware – Printers Intermediate 👁 10 views 📅 May 26, 2026

Your printer spooler ran out of memory trying to allocate a job. This is usually a corrupted spool file or driver leak, not your actual RAM.

What's actually happening here?

Error 0X00000875 means the spooler service (spoolsv.exe) tried to allocate memory for a print job but hit its per-job limit. This isn't your system running out of physical RAM — it's the spooler's internal heap getting fragmented or blocked by a corrupt file. The trigger is usually a stuck print job with a corrupted EMF (Enhanced Metafile) or SPL (spool file) that the spooler can't parse, so it keeps retrying and leaking memory until it hits the wall.

I've seen this most often after a printer driver update that went sideways, or when someone yanks a USB cable mid-print. The fix is to kill the corrupt data and let the spooler start fresh. Let's walk through it from quickest to most thorough.

Quick fix: Stop and clear the spooler (30 seconds)

This is the first thing to try. It nukes all pending jobs and resets the spooler's memory state. You'll lose any queued prints, but that's better than rebooting.

  1. Open Command Prompt as administrator (Win+R, type cmd, press Ctrl+Shift+Enter).
  2. Run these two commands in order:
    net stop spooler
    del /q /f %systemroot%\System32\spool\PRINTERS\*
  3. Then restart the service:
    net start spooler

Why this works: The del command removes every SPL and SHD file sitting in the PRINTERS folder. Those files are the spooler's in-memory job queue saved to disk. If any one of them is corrupt, the spooler chokes on it during the next enumeration loop. Deleting them all forces a clean slate. The /q and /f flags skip confirmations and force-remove read-only files — you'll need those because Windows often locks the spool files as SYSTEM owned.

Test your printer now. If the error's gone, you're done. If it comes back after a few jobs, move to the next section.

Moderate fix: Reset spooler service and clear event log (5 minutes)

Sometimes the quick fix doesn't stick because the spooler service itself has a corrupted configuration or the driver is leaking handles. This step resets the service to default and ensures no stale registry keys are hanging around.

  1. Stop the spooler again: net stop spooler
  2. Open Services.msc (Win+R, type services.msc). Find Print Spooler, right-click, go to Properties.
  3. Under Log On tab, make sure it's set to Local System account with Allow service to interact with desktop unchecked. I've seen some driver installers flip this.
  4. Under Recovery tab, set all three failures to Restart the Service. First failure at 1 minute, second at 2 minutes, subsequent at 5 minutes. This keeps the spooler from staying dead after a crash.
  5. Now clear the system event log where spooler errors pile up. Run:
    wevtutil cl System
  6. Delete the PRINTERS folder contents again (same del command from above).
  7. Restart the spooler: net start spooler

Why step 5 matters: The event log itself can grow large (hundreds of MB) and the spooler queries it for error reporting. A bloated log adds overhead to the heap allocations. Clearing it won't fix a corrupt file, but it removes a secondary memory pressure source.

If you still see the error after this, we need to check the driver.

Advanced fix: Replace the printer driver and check for memory leaks (15+ minutes)

This is the nuclear option. A buggy driver can leak a few KB per print job, and over a day or week that adds up until 0X00000875 shows. The real fix is to remove and reinstall the driver — not just the printer device.

  1. Open Print Management (Win+R, type printmanagement.msc). If you're on Windows 10/11 Home, you'll need to install RSAT tools first, or use the classic Control Panel method.
  2. In the left pane, expand Print Servers > Your Computer > Drivers. Right-click the driver your printer uses (usually the one matching the printer model) and choose Remove Driver Package.
  3. It'll prompt you to also remove the driver package from the driver store. Say yes. This deletes the files in C:\Windows\System32\DriverStore\FileRepository that match that printer.
  4. Now delete the spool files again (third time's the charm): del /q /f %systemroot%\System32\spool\PRINTERS\*
  5. Restart the spooler then add the printer fresh from the manufacturer's website — avoid the Windows Update driver if possible. I've found HP and Brother's own packages don't have this leak, while the inbox Microsoft ones sometimes do.

Why removing the driver package matters more than just deleting the printer: Drivers are stored in two places — the active driver cache and the driver store. Just deleting the printer only removes the link to the cache. The driver store still holds the old files, and next time you plug the printer in, Windows reuses them. You have to purge both. The Remove Driver Package command is the only way to hit both in one shot.

If you can't use Print Management, a hackier way is to manually delete the driver inf file from C:\Windows\INF (look for oem*.inf files and open each to find the one referencing your printer model), then delete the matching folder under DriverStore\FileRepository. But that's tedious and error-prone — stick with Print Management if you can.

One more thing: Check for third-party spooler add-ons

Some enterprise printer management tools (PaperCut, PrinterLogic) inject their own DLLs into spoolsv.exe. These can cause heap fragmentation. If you have such software, try disabling it temporarily. Look in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors for any non-standard entries. The default set is Local Port, Standard TCP/IP Port, USB Monitor, WSD Port. Anything else is a candidate.

After all this, 0X00000875 should be dead. If it's still alive, you might have a hardware issue like a printer that's sending garbage data back to the spooler over the network, but that's rare — 99% of cases are corrupt files or driver leaks.

Was this solution helpful?