Linux:确定所有连接的套接字发送缓冲区使用的内存

在Redhat Linux上,有没有办法确定当前连接的所有套接字的发送缓冲区的“实际”内存总量? 我正在解决Java项目中潜在的内存泄漏问题,并且很好奇我的代码中的发送缓冲区大小设置如何转换为这些缓冲区使用的实际内存。 谢谢你的帮助!

你可能想看到:

istvan:redhat$cat /proc/meminfo MemTotal: 4151916 kB MemFree: 415796 kB Buffers: 344684 kB Cached: 3039484 kB SwapCached: 0 kB Active: 1563304 kB Inactive: 2017064 kB HighTotal: 3276352 kB HighFree: 86788 kB LowTotal: 875564 kB LowFree: 329008 kB SwapTotal: 2040244 kB SwapFree: 2040244 kB Dirty: 12 kB Writeback: 0 kB AnonPages: 196352 kB Mapped: 62228 kB Slab: 133680 kB PageTables: 6160 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 4116200 kB Committed_AS: 748424 kB VmallocTotal: 116728 kB VmallocUsed: 44656 kB VmallocChunk: 66548 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 2048 kB 

请注意lsof

SIZE:文件大小或文件偏移量,以字节为单位。 (如果可用的话)。对于不具有真实大小的文件(例如,套接字,pipe道),lsof显示其内核缓冲区描述符的内容大小。