dumpcap 是 Wireshark / tshark 底层抓包进程。在 Debian 上如果它 CPU / 内存 / 磁盘占用很高,通常不是“bug”,而是抓包量太大或配置不合理。下面按「先止血 → 再排查 → 长效优化」给你一套实用方案。
ps aux | grep dumpcap
或
top -p $(pgrep dumpcap)
sudo systemctl stop wireshark # 如果有服务
# 或
sudo kill -TERM $(pgrep dumpcap)
⚠️ 不要直接
kill -9,可能造成 pcap 文件损坏
现象:CPU 高、磁盘写入暴涨
解决:
sudo dumpcap -D # 看抓哪个接口
限制接口 & 速率:
sudo dumpcap -i eth0 -s 96 -B 16
-s 96:只抓包头(不抓全包)-B 16:缓存 16MB现象:文件巨大、I/O 100%
加抓包过滤(BPF):
sudo dumpcap -i eth0 -f "tcp port 443"
常见示例:
-f "host 10.0.0.1"
-f "tcp port 80 or tcp port 443"
-f "not arp"
现象:单文件几十 GB
使用文件轮转:
sudo dumpcap -i eth0 -w /data/cap.pcap \
-C 100 -W 10
-C 100:每个文件 100MB-W 10:最多 10 个文件(自动覆盖)现象:内存慢慢涨
限制抓包时间:
sudo dumpcap -i eth0 -w cap.pcap -G 3600 -W 1
-G 3600:每小时一个文件现象:反复重启、占用异常
正确赋予权限(不要 root 跑):
sudo usermod -aG wireshark $USER
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
重启登录后:
getcap /usr/bin/dumpcap
tshark -i eth0 -f "tcp" -w cap.pcap -b filesize:100
dumpcap -i eth0 -b filesize:50 -b files:20 -w /data/cap.pcap
iotop
nload
df -h
你可以补充:
cat /etc/debian_version)我可以直接给你一条最优命令。