¿Qué es lo que mantiene a mi computadora despierta?

37

Primero la pregunta; ¿Cómo averiguo qué impide que mi computadora con Windows 7 entre en modo de suspensión?

Segundo; algunos antecedentes ...

He estado luchando con esto durante unos días y estoy completamente perplejo. Configuré el modo de suspensión en mi PC con Windows 7 hace unas semanas, y todo estuvo bien. La PC se durmió como se esperaba y yo sabía cómodamente que mi computadora estaba ahorrando energía y algo de desgaste en los componentes (dejaremos el debate 'es mejor dormir' para otro hilo / día, por favor no iniciarlo).

Bueno, noté la otra noche que mi sistema dejó de dormir. Establecí el tiempo de suspensión en 1 minuto y me alejé completamente de la PC (asegurándome de que no ocurrieran movimientos errantes del mouse o del teclado) y la PC nunca se fue a dormir. También he observado esto en intervalos más largos, como durante la noche.

  • Tengo el modo de suspensión habilitado, por supuesto.
  • "Configuración multimedia: cuando se comparten medios" está configurado para permitir que la computadora se suspenda.
  • "powercfg -lastwake" no muestra nada de interés, ya que nunca se duerme y no puede despertarse.
  • "powercfg / request" muestra 3 entradas: todas "[DRIVER]?". Supongo que 2 de estos son mi mouse y teclado, ya que los he usado recientemente para ejecutar el comando powercfg. Sin embargo, estoy perdido por el tercero.
    • Desenganché todos los periféricos USB excepto mi teclado y mouse.
  • Wake on LAN está deshabilitado en mi BIOS.
  • Sé que puede deshabilitar todas las aplicaciones para que no se despierten / eviten el sueño, pero quiero la capacidad de permanecer para aquellas aplicaciones que legítimamente necesitan mantener el sistema despierto.

Asi que; ¿Alguien sabe de una manera de averiguar qué es el 3º fantasma "[DRIVER]?" está en powercfg / solicitudes?

Phantomdata
fuente

Respuestas:

36

Bingo. Lo encontré. Una utilidad de montaje ISO que ejecuté tenía un archivo montado y abierto a través de la red. Aparentemente, si un archivo está abierto para leer en la red, Windows no puede dormir.

En otra nota: descubrí un pequeño capricho con la powercfgutilidad. Parece hacer una diferencia desde qué tipo de terminal lo ejecutas. Ejecutar bajo cygwin y Console2 dio informes falsos y erráticos del programa (incluido un could not load energy.dllerror de ejecución powercfg -ENERGY). Al principio pensé que los problemas [DRIVER] ?eran solo una cuestión de que el programa no tuviera suficiente información para determinar el controlador; pero fue realmente un síntoma de ser ejecutado bajo una cmd.exeterminal estándar .

Como Emory señala en el comentario a continuación, la causa de este comportamiento extraño es que powercfgrequiere permisos elevados, lo que requiere que se ejecute como Administrador. No hay ninguna advertencia integrada en el programa para alertar al usuario, solo devolverá una salida incorrecta (y posiblemente could not locate energy.dllen el caso de powercfg -ENERGY). Debe ejecutarse desde un símbolo del sistema con privilegios elevados.

Así que ... larga historia corta ... para determinar qué programa está evitando que su sistema duerma:

  • Ejecutar cmd.execon privilegios administrativos (esta es la clave, powercfgse ejecutará bajo cualquier cosa, pero dará resultados incorrectos)
  • Ejecute powercfg -requestspara obtener una lista de elementos que actualmente impiden dormir.

Pude determinar que los archivos abiertos a través de la red estaban evitando el sueño en mi caso.

Phantomdata
fuente
Me gustaría realizar los pasos cmd.exe y powercfg -requests que describiste, pero necesito instrucciones paso a paso para mí (¡no para PC Whiz!). 1. Por ejemplo, ¿cómo ejecuto cmd.exe con privilegios administrativos? 2. Cuando escribo cmd.exe , obtengo "C: \ Users \ Karl>". "Karl" soy yo (teóricamente el Administrador). ¿Qué escribo a continuación? Gracias.
1
@ user115689 Puede iniciar "cmd" como administrador abriendo el menú Inicio. Luego escriba "cmd" para buscarlo. Luego puede hacer clic derecho y seleccionar "Ejecutar como administrador" o presionar <kbd> Ctrl </kbd> + <kbd> Shift </kbd> + <kbd> Enter </kbd> que iniciará el programa seleccionado como administrador .
Dracs
Vea un Q&A similar en superuser.com/questions/479131/…
Dan Halbert
8
¿Hay un comando similar? Este les muestra a todos "ninguno" pero mi computadora no está durmiendo. La atenuación de la pantalla funciona pero eso es todo.
adrianTNT