¿Cómo suspender otros procesos no relacionados para permitir que un proceso en interés ocupe la CPU?

¿Cómo suspender otros procesos no relacionados para permitir que un proceso en interés ocupe la CPU?

Es posible que

  • Primero, averigüe qué procesos son necesarios para ejecutar un proceso de interés, y
  • luego suspenda todos los demás procesos no relacionados para permitir que el proceso en interés use la CPU tanto como sea posible
  • ¿Cuando el proceso en cuestión termine de ejecutarse, reanudar los procesos suspendidos?

Por ejemplo, un proceso de interés es djview.

Gracias.

Respuesta1

Eso debería ser posible (al menos en muchos casos) si hay una conexión permanente. Luego puede buscar /proc/PID/fdsockets y FIFO (más difícil si se utilizan archivos normales) y encontrar los procesos que les pertenecen.

Pero no bloquearía completamente los otros procesos; eso parece peligroso. Puede causar puntos muertos si comete un error (y puede causar otros problemas).

Sugiero volcar la CPU y la prioridad de E/S de todos los procesos, adaptarlos ( renice, ionice) y restaurarlos después. Eso puede costarle al proceso principal un 10% de rendimiento, pero está en el lado seguro.

información relacionada