Есть ли способ в 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
РАЗМЕР: размер файла или смещение файла в байтах. (Если доступно.) В случае файлов, которые не имеют истинного размера (например, сокеты, каналы), lsof отображает размер содержимого их дескрипторов буфера ядра.