GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo asigna Linux el ancho de banda entre los procesos?

Como la mayoría de los problemas de rendimiento, es complicado. La cantidad de ancho de banda que obtiene cada tarea es una interacción compleja entre muchas cosas, en diferentes capas de la pila de red. Incluso sin moldear. Una lista incompleta:

  • Programador de CPU para cuando las tareas (y los controladores de interrupción del controlador) pueden entrar en la CPU
  • La rapidez con la que las tareas obtienen sus datos, posiblemente limitada por cuellos de botella o contención
  • Qué disciplina de cola está en uso, esencialmente un programador de paquetes
  • Detalles del controlador, como la cantidad de colas de transmisión de hardware y cómo seleccionan los flujos
  • Comportamiento del protocolo TCP, si un flujo alcanza el control de congestión, puede permanecer lento mientras el ancho de banda es limitado
  • Todas las consideraciones anteriores para los sistemas remotos que reciben los flujos
    • Si todas sus conexiones no van al mismo destinatario, el otro el final posiblemente tenga más impacto que tu fin

Muchos de estos no están optimizados para la "equidad" de ancho de banda igual, sino otros criterios. El control de congestión de TCP preferiría tener un poco de buen rendimiento en lugar de sufrir un colapso congestivo.

Y no olvides, también, que eres probablemente no es el único de la red en un momento dado, por lo que también debe tener en cuenta los enrutadores, conmutadores, etc. entre "aquí" y "allá".

Si esto es más que una curiosidad, una solución lo más rápido posible es obtener más ancho de banda.

O bien, hacer QoS, dar forma o limitar las aplicaciones puede establecer cuotas para un mejor comportamiento general, sea cual sea el mejor medio. Pero esto ya no es lo más rápido posible, tú eliges a los ganadores y perdedores por política.


Linux
  1. Linux:¿cómo configurar el uso compartido justo de ancho de banda entre Cgroups?

  2. Cómo matar procesos en ejecución en Linux

  3. Cómo obtener el tamaño del directorio en Linux

  4. ¿Cómo obtener el nombre de host de IP (Linux)?

  5. ¿Cómo funciona un depurador en Linux?

Cómo matar procesos Zombie en Linux

Cómo obtener su dirección IP en Linux

¿Cómo funciona el intercambio de memoria en Linux?

Cómo comenzar con Arch Linux

Cómo obtener una lista de enlaces simbólicos en Linux

¿Cómo funciona la pantalla de Linux?