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

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

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

答案1

你可能想看到:

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:文件的大小或文件偏移量,以字节为单位。(如果可用。)对于没有真实大小的文件(例如套接字、管道),lsof 将显示其内核缓冲区描述符的内容的大小。

相关内容