Windows \ Temp grandes cantidades de archivos cab_XXXX

31

Un par de servidores que se han reconstruido recientemente están recibiendo advertencias sobre el uso de la unidad C: \. Al observar el disco, cab_XXXX_X está utilizando GB de datos en Windows \ Temp (por ejemplo, cab_5328_2). La sugerencia que he encontrado en línea es simplemente eliminarlos, pero no puedo evitar sentir que esto solo será una solución, ya que se generan varias veces al día.

¿Alguien ha visto este comportamiento antes con un cuadro de Windows Server 2008 R2 SP1? No puedo ver que suceda en ningún otro servidor que tengamos, solo los dos que se han reconstruido recientemente. Espero encontrar una forma permanente de detenerlo, ya que estoy seguro de que no puede ayudar al rendimiento.

Tim Alexander
fuente
1
Recomendaría usar Process Monitor para ver qué proceso o servicio está creando estos archivos, espero que puedas ver uno en el acto. Entonces podemos determinar cómo proceder una vez que sepamos cómo están llegando allí en primer lugar.
vcsjones
1
La pregunta (y la respuesta) también son perfectamente válidas para Windows 7.
Borislav Ivanov

Respuestas:

26

Tuve un problema similar hace un tiempo, esto ayudó a identificar la causa. Este es el bit con la solución.

en la carpeta C: \ windows \ Logs \ CBS elimine el archivo .log más antiguo (también puede eliminarlos todos) en la carpeta C: \ windows \ temp elimine cada cab_xxxx en el siguiente proceso de regeneración, los registros restantes (CBS) se comprimieron correctamente , y C: \ windows \ temp se dejó limpio

Tim Brigham
fuente
3
Y aquí hay una descripción mucho más técnica del problema. Parece que Windows Resource Protection es el servicio culpable.
Borislav Ivanov
NB: Parece que todavía no hay una revisión para este problema. He publicado en MS Answers preguntando si hay algo que viene ... puedes seguir ese hilo aquí: answers.microsoft.com/en-us/windows/forum/windows8_1-files/…
JohnLBevan
9

El límite de 2GiB todavía nos persigue

He visto que esto sucede en Windows 7 de 64 bits y (a partir de hoy) sistemas Windows 2008 R2.

Incluso en Windows de 64 bits, la makecab.exeutilidad se rompe en archivos grandes (2GiB +), porque el formato de archivo Cabinet no puede almacenar archivos de más de 2GiB. .


Si algún archivo de registro C:\Windows\Logs\CBScrece demasiado, interrumpe el proceso de compresión del registro:

  • El gran archivo de registro de CBS nunca se comprime
  • Los archivos de registro CBS más nuevos nunca se comprimen
  • C:\Windows\Temp se llena con archivos corruptos del gabinete

Los archivos corruptos del gabinete consumen aproximadamente 200MiB + por día, y no se pueden borrar reiniciando.

Desafortunadamente, debe eliminar manualmente el gran archivo de registro CBS y eliminar los archivos corruptos del gabinete.


Esta fue una falla de diseño en Windows 7 que podría haber sido evitada por:

  • dividir archivos de registro CBS grandes antes de intentar comprimirlos, o
  • Reemplazar el formato de archivo del gabinete con un formato más capaz

En cualquier caso, el modo de falla de consumir todo el espacio disponible en el disco es una grave supervisión.

Hydraxan14
fuente
1
Buena respuesta. Aquí hay un artículo de apoyo ... computerworld.com/article/3112358/microsoft-windows/…
Nathan Hartley
Sí, desde la primera vez que me encontré con este problema, me he preguntado por qué makecab no comprueba el tamaño de entrada de manera anticipada , y es tan misterioso por qué no limpia el archivo temporal ...
SamB
2

C: \ Windows \ Temp es una carpeta comúnmente utilizada por las actualizaciones de Windows, registros o archivos temporales. Durante una instalación, la aplicación mueve los archivos caps a una carpeta temporal, en este caso C: \ Windows \ Temp

Si desea liberar espacio, puede eliminar todo en esta carpeta. Mi sugerencia es eliminar solo los antiguos, pero conservar los archivos más recientes (hace un mes).

Si está buscando liberar espacio, puede usar la herramienta TreeSize Free o la herramienta WinDirStat. Ambos son gratis.

HEMAN85
fuente