LINUX.ORG.RU

grep очень тормозит

 ,


0

2

Здравствуйте.

Столкнулся с непонятным, подскажите, пожалуйста, в чем может быть дело.

tcpdump -n
13:24:25.224084 IP 65.xxx.213.xx.22 > xxx.94.xx.56.2874: Flags [P.], seq 317760:317936, ack 321, win 501, length 176
13:24:25.224244 IP 65.xxx.213.xx.22 > xxx.94.xx.56.2874: Flags [P.], seq 317936:318112, ack 321, win 501, length 176
13:24:25.224425 IP 65.xxx.213.xx.22 > xxx.94.xx.56.2874: Flags [P.], seq 318112:318288, ack 321, win 501, length 176
13:24:25.224585 IP 65.xxx.213.xx.22 > xxx.94.xx.56.2874: Flags [P.], seq 318288:318464, ack 321, win 501, length 176
13:24:25.224740 IP 65.xxx.213.xx.22 > xxx.94.xx.56.2874: Flags [P.], seq 318464:318640, ack 321, win 501, length 176
tcpdump -n | grep 94
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

работает, но очень медленно, одна строка за несколько секунд

В чем может быть дело? Перезагружал, раньше все работало как и должно.


Ответ на: комментарий от ValdikSS
tcpdump -U

работает, добавляю grep снова пара строк в десять секунд

tcpdump -l -n| grep

работает

а что это такое, из-за чего такое может произойти?

xohox ()
Ответ на: комментарий от xohox

Когда ты выводишь данные на терминал, скорость вывода ограничена эмуляцией tty. Набери stty, чтобы узнать, на сколько ограничена.

Когда ты выводишь данные в другую программу, скорость не ограничивается и грепу приходится обрабатывать куда больше информации, чем тебе кажется.

Сравни вывод tcpdump -n и tcpdump -n | cat, сколько пакетов ты увидишь в первом и втором случаях.

Правильно в данном случае не использовать grep, а использовать фильтры самого tcpdump, либо записывать данные в файл а потом грепать.

tcpdump -l позволяет буферизовать вывод.

Aceler ★★★★★ ()
Ответ на: комментарий от Aceler

Когда ты выводишь данные на терминал, скорость вывода ограничена эмуляцией tty. Набери stty, чтобы узнать, на сколько ограничена.

Годная шутка на 1 апреля.

Про фильтры к tcpdump +1

vel ★★★★★ ()
Ответ на: комментарий от kirill_rrr

Во время подключения терминала пакеты на 22 порт шпарят так, что уследить не успеваешь, прям простыня лезет. А тут одна срока в 20 секунд появлялась.

пишу tcpdump -n , все нормально, простыня, добавляю | grep 22, одна срока в 20 секунд, поэтому и решил что проблема именно с использованием grep.

xohox ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.