Si uso alguna aplicación intensiva de E / S (como Virtualbox, verificación de datos de Steam o incluso dd
) mi sistema deja de responder. A pesar de que todo comenzó con prioridad normal, hacen que el escritorio sea muy lento y retrasan mucho el inicio de otras aplicaciones.
Sé que puedo usar algo como ionice
cambiar la prioridad a inactivo, por ejemplo, pero en el caso de Virtualbox, que genera muchos procesos, se vuelve difícil.
¿Puedo dar algún tipo de sugerencias al sistema, de modo que cuando se inician algunas aplicaciones específicas se inician con la menor prioridad de E / S?
disk
process-priority
Salem
fuente
fuente
Respuestas:
Nota: Esta solución solo funciona con el planificador cfq, como se explica aquí . Debe verificar cuál se utiliza emitiendo
y cámbielo si es necesario.
Si entendí correctamente, desea
ionice
que se aplique alguna configuración cada vez que inicie un comando. Puedes hacerlo de esta manera:El primer comando crea un archivo
VirtualBox
con el texto entre comillas simples como su contenido. Esto debería tener la ruta completa al programa, porque si uno solo lo especificaVirtualBox
puede interpretarlo como el archivo que acabamos de crear y crear un "bucle".El segundo comando lo hace ejecutable, y el tercero mueve este nuevo archivo en una carpeta que se encuentra frente a la carpeta bin del "sistema"
/usr/bin
, por lo que nuestro nuevo archivo se ejecuta en lugar del original. La parte "$ @" contiene todos los argumentos con los que se invocó el comando, por lo que se reenvían al comando VirtualBox real.Según la respuesta ("sí") a esta pregunta de Superusuario ¿Los procesos de los niños heredan las prioridades de sus padres? ¿Cómo se verifica la prioridad IO de un proceso en ejecución? , debería ser suficiente para
ionice
el proceso padre, así:Desde la
ionice
página de manual , están disponibles los siguientes valores de clase de programación de E / S:Se puede usar un número o nombre de clase.
Además, la
-n level
opción es aplicable para clases en tiempo real y de mejor esfuerzo, con 0-7 como datos válidos (niveles de prioridad).fuente
ionice
parte esencial "debería ser suficiente para el proceso principal"?ionice
puedo trabajar con elcfq
planificador! Para más detalles: unix.stackexchange.com/questions/136226/…Puede usar el comando 'renice' para priorizar procesos:
También podría ser que su unidad esté girando demasiado, por lo que cuando desee iniciar una aplicación como Virtualbox, debe girar antes de que pueda comenzar a trabajar (esto puede llevar un tiempo).
fuente