Recently I’ve had several instances where a (sometimes relatively new) Windows 7 PC has run out of disk space, and found that C:\Windows\TEMP has numerous files with names following the pattern “cab_XXXX_X” (usually around 100MB each), and these files are constantly generated until the system runs out of space.
This is caused by large Component-Based Servicing logs stored at C:\Windows\Logs\CBS. The current log file is named “cbs.log”. When “cbs.log” reaches a certain size, a cleanup process renames the log to “CbsPersist_YYYYMMDDHHMMSS.log” and then attempts to compress it into a .cab file.
However, when the cbs.log reaches a size of 2 GB before that cleanup process compresses it, the file is too large to be handled by the makecab.exe utility. The log file is renamed to CbsPersist_date_time.log, but when the makecab process attempts to compress it the process fails (but only after consuming some 100 MB under \Windows\Temp). After this, the cleanup process runs repeatedly (approx every 20 minutes). The process fails every time, and also consumes a new ~100MB in \Windows\Temp before falling over again. This is repeated until the system runs out of disk space.
To resolve the issue:
1. Stop the Windows Modules Installer service.
2. Browse to C:\Windows\Logs\CBS and delete all of the files in that folder (you can remove/rename if you think you might need them in the future – unlikely!)
3. Delete all the “cab*” files in C:\Windows\Temp.
4. Reboot the PC.