O algoritmo de Nagle está ativado por padrão, mas pode estar desativado na chamada do sistema setsockopt
usando o sinalizador TCP_NODELAY.
Uma maneira no Linux seria rastrear o setsockopt usando strace . A atividade de rede pode então ser rastreada pela chamada:
strace -o /tmp/strace.out -s 10000 -e trace=network -fp PID
Isto irá rastrear as chamadas de bind, listen, socket, setsockopt.
Se sua distribuição Linux incluir systemtap
, você poderá usar o comando
pfiles.stp .
Um exemplo de uso vem de esta resposta :
$ ./pfiles.stp 'pgrep udevd'
787: udevd
Current rlimit: 32 file descriptors
0: S_IFCHR mode:0666 dev:0,15 ino:396 uid:0 gid:0 rdev:1,3
O_RDWR|O_LARGEFILE
/dev/null
1: S_IFCHR mode:0666 dev:0,15 ino:396 uid:0 gid:0 rdev:1,3
O_RDWR|O_LARGEFILE
/dev/null
2: S_IFCHR mode:0666 dev:0,15 ino:396 uid:0 gid:0 rdev:1,3
O_RDWR|O_LARGEFILE
/dev/null
3: S_IFDIR mode:0600 dev:0,9 ino:1 uid:0 gid:0 rdev:0,0
O_RDONLY
inotify
4: S_IFSOCK mode:0777 dev:0,4 ino:2353 uid:0 gid:0 rdev:0,0
O_RDWR
socket:[2353]
SO_PASSCRED,SO_TYPE(2),SO_SNDBUF(111616),SO_RCVBUF(111616)
sockname: AF_UNIX
5: S_IFSOCK mode:0777 dev:0,4 ino:2354 uid:0 gid:0 rdev:0,0
O_RDWR
socket:[2354]
SO_TYPE(2),SO_SNDBUF(111616),SO_RCVBUF(33554432)
ulocks: rcv
6: S_IFIFO mode:0600 dev:0,6 ino:2355 uid:0 gid:0 rdev:0,0
O_RDONLY|O_NONBLOCK
pipe:[2355]
7: S_IFIFO mode:0600 dev:0,6 ino:2355 uid:0 gid:0 rdev:0,0
O_WRONLY|O_NONBLOCK
pipe:[2355]