Как я могу контролировать длину очереди приема?

Try

du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr

Это поможет найти большие каталоги, чтобы затем просеять их с помощью du -sh ./*

8
07.12.2016, 20:17
2 ответа

Чтобы проверить, не переполняется ли ваша очередь, используйте netstat или nstat

[centos ~]$ nstat -az | grep -i listen
TcpExtListenOverflows           3518352            0.0
TcpExtListenDrops               3518388            0.0
TcpExtTCPFastOpenListenOverflow 0  0.0

[centos ~]$ netstat -s | grep -i LISTEN
    3518352 times the listen queue of a socket overflowed
    3518388 SYNs to LISTEN sockets dropped

Ссылка :https://perfchron.com/2015/12/26/investigating-linux-network-issues-with-netstat-and-nstat/

Чтобы отслеживать размеры очереди, используйте команду ss и найдите сокеты SYN -RECV.

$ ss -n state syn-recv sport = :80 | wc -l
119

Ссылка :https://blog.cloudflare.com/syn-packet-handling-in-the-wild/

11
27.01.2020, 20:13

Sysdig предоставит часть этой информации в конце каждого системного вызова accept , как queuelen ] аргумент. Он также показывает длину очереди как queuemax .

7598971 21:05:30.322229280 1 gunicorn (6451) < accept fd=13(<4t>127.0.0.1:45882->127.0.0.1:8003) tuple=127.0.0.1:45882->127.0.0.1:8003 queuepct=0 queuelen=0 queuemax=10

Насколько мне известно, он не предоставляет механизма, позволяющего точно узнать, когда и сколько раз очередь переполнялась. И было бы обременительно интегрировать это с периодическим мониторингом collectd или аналогичным.

2
27.01.2020, 20:13

Теги

Похожие вопросы