¿Cuánta memoria en promedio consume el kernel de Linux (en el espacio de direcciones del kernel) por conexión de red TCP/IP?¿Cuánta memoria consume el kernel de Linux por conexión de red TCP/IP?
Respuesta
Para una memoria de conexión TCP consumido depende de
tamaño de sk_buff (estructura de red interna utilizados por el kernel Linux)
la lectura y escritura de búfer para una conexión
el tamaño de los buffers se puede modificar según sea necesario
[email protected]:~# sysctl -A | grep net | grep mem
cheque por estas variables
estos especificar el uso máximo del búfer de memoria predeterminada para todas las conexiones de red en el kernel
net.core.wmem_max = 131071
net.core.rmem_max = 131071
net.core.wmem_default = 126976
net.core.rmem_default = 126976
estos especificar el uso de memoria intermedia específica a las conexiones TCP
net.ipv4.tcp_mem = 378528 504704 757056
net.ipv4.tcp_wmem = 4096 16384 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
la tres valores especificados son tamaños de búfer "mínimo por defecto máximo". Entonces, para comenzar con Linux, se usarán los valores predeterminados de buffer de lectura y escritura para cada conexión. A medida que aumenta el número de conexiones, estos almacenamientos intermedios se reducirán [como máximo hasta el valor mínimo especificado] Igual es el caso para el valor máximo de almacenamiento intermedio.
Estos valores se pueden establecer utilizando este sysctl -w KEY=KEY VALUE
por ejemplo. El siguiente comando garantiza que los búferes de lectura y escritura para cada conexión sean 4096 cada uno.
sysctl -w net.ipv4.tcp_rmem='4096 4096 4096'
sysctl -w net.ipv4.tcp_wmem='4096 4096 4096'
Depende. En muchas muchas cosas.
Creo que una conexión inactiva tomará algunos cientos de bytes.
Pero si hay datos en la transmisión y/o recepción de datos, entonces el consumo aumenta. El tamaño de la ventana puede limitar aproximadamente este consumo.
El consumo extra de datos no es solo los bytes en la cola de recepción/transmisión. Hay gastos generales, por lo que un segmento con un byte puede tomar algo como 2K. TCP intenta reducir esto, por ejemplo, al fusionar segmentos en un solo sk_buff, pero no siempre tiene éxito.
También depende de qué capa. En el caso de un escenario de puente puro, solo existe el FDB a nivel de puente. Cuando el enrutamiento entra en juego, está la tabla de enrutamiento y el nivel de IP FDB/neighbor db. Y finalmente, una vez que un socket local está en la obra, tiene, por supuesto, tamaño de ventana, búferes de socket (ambos envían y reciben, y son predeterminados a 128k la última vez que lo verifiqué), listas de fragmentos (si se usan), así que es donde la memoria va, pero una respuesta clara es difícil de hacer con todas las partes en uso. Puede usar ss -m
para obtener algunas estadísticas de memoria de sockets de flujo local.
¿Puede explicarme los 4 caracteres (r, w, f, t) en la salida 'ss -m'? – pradeepchhetri
- 1. red TCPIP con C#
- 2. ¿Cuánta memoria consume un hilo cuando se creó por primera vez?
- 3. Kernel de Linux: obtenga el último bloque de memoria escrita
- 4. Cómo limpiar los cachés utilizados por el kernel de Linux
- 5. ¿Por qué lxml.etree.iterparse() consume toda mi memoria?
- 6. ¿Cómo medir el uso de memoria por conexión Apache activa?
- 7. Java consume demasiada memoria
- 8. Knockout.js consume demasiada memoria
- 9. ¿Cuánta memoria podría utilizar vm
- 10. ¿Cuánta memoria tiene antes de ser grosera?
- 11. ¿`Using Namespace;` consume más memoria?
- 12. ¿Por qué la JVM consume menos memoria que -Xs especificados?
- 13. phpDocumentor alternativa consume menos memoria
- 14. No se puede escribir en la memoria kernel a través del módulo kernel de Linux (Ubuntu)
- 15. Cuánta memoria está bloqueada en un proceso
- 16. Quiero contribuir con el kernel de Linux
- 17. ¿Cuánta memoria usa el puntero nulo?
- 18. ¿Cuánta memoria debería poder asignar?
- 19. ¿Cuánta memoria debe consumir una aplicación de Ruby on Rails?
- 20. zlib, deflate: ¿Cuánta memoria asignar?
- 21. ¿Cuánta sobrecarga de red agrega TLS en comparación con una conexión no cifrada?
- 22. ¿Cuánta memoria tiene mi hilo de Java?
- 23. desarrollo del kernel de Linux
- 24. Makefile para el módulo kernel de Linux?
- 25. ¿Cuánta memoria usa una Hashtable?
- 26. ¿Cómo se determina el límite de la memoria del proceso en Linux?
- 27. ¿Por qué un programa Java vacío consume memoria?
- 28. ¿Cómo acceder a la memoria de espacio de usuario desde el kernel de Linux?
- 29. ¿Cuánta memoria usa numpy ndarray?
- 30. Programación del kernel de Linux
¿Puede describir la situación con más detalle? Sin él, la mejor estimación que cualquiera podría ofrecer sería algo así como "entre 1K y 10M", lo que no te ayudará mucho. Supongo que te refieres a las conexiones TCP/IP donde un extremo (¿el servidor?) Es tu máquina.¿Puede suponer que la conexión está actualmente inactiva o, al menos, que no está colgada (es decir, todo está acuse en un tiempo razonable)? – ugoren