Appearance
Appearance
Wireshark 使用大量内存来保存状态、进行 reasembly 以及处理其他事情,而且可能并不总是以最高效的方式进行。这里收集一些可能值得探索的想法。
今天我们认为 packet list、reassembly functions、frame data 和 address resolution 相关内容是主要的内存大户。但我们确实知道吗?
在 ui/gtk/memory_dlg.c 中,我们已有显示实际内存使用量的代码开端,也许应该对其进行扩展。
Address resolution 即使在 addresses 未被解析时也会消耗内存,因为 IP address string 会被缓存。它本应为 packet list 节省内存,但我不确定它是否按预期工作。应该审查。
Reasembled data 会保存在内存中。如果改为保存到文件中,将节省大量内存,但可能会在时间方面成本更高。Follow TCP stream 在处理乱序数据包方面做得更好,因此写入文件也可能带来其他好处。
Imported from https://wiki.wireshark.org/Reduce memory footprint on 2020-08-11 23:23:52 UTC