
En Linux 2.6.32, si lee (por ejemplo, cat) /proc/net/tcp, en un sistema muy cargado (por ejemplo, un servidor web), encontrará que leer 100.000 entradas lleva más de 30 segundos. Eso es un largo tiempo.
¿Qué está pasando detrás de escena? ¿Se está bloqueando?
Mucha gente menciona la velocidad del comando 'ss'. ¿Qué hace el comando 'ss' que 'cat /proc/net/tcp' o 'netstat' no hace y que lo hace mucho más rápido?
Respuesta1
ss
utiliza la AF_NETLINK
capa de socket para comunicarse con el kernel. Este es un protocolo de nivel inferior pero permite transferir datos muy rápidamente y en grandes cantidades. Un vistazo rápido strace
a CentOS 7 muestra que establece la ventana de transferencia en 1 Mb.