[問題] 在tcpdump時避免dropped by kernel
在跑tcpdump時如果系統load太大 (ex.正在跑flash...應該猜得出來我要幹嘛XD?
會造成tcpdump來不及去讀回buffer而被kernel覆蓋過去
# tcpdump -np -ieth0 -B1024 -wlog #這裡的-B 是增加buffer size, 好像沒用?
31400 packets received by filter
62 packets dropped by kernel
減它一點nice?
# nice -n-10 tcpdump -B1024 -i eth0 -nv -wlog
結果還是有lost
會不會是firefox的time slice太大,來不及釋出CPU?
# taskset -apc 0 `pgrep firefox`
# sudo nice -n-10 taskset -ac 1 tcpdump -B1024 -i eth0 -nv -wlog
還是lost....
我現在只能靠
iptables -I INPUT 1 -ieth0 -j TEE -gateway <machine in eth1>
來收才不會有dropped pocket
想問為什麼會這樣(renice+cpuset還不夠?)
有何解? 畢竟不是每天都有兩台電腦可以用...
(除了fiddler)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.32