Назад | Перейти на главную страницу

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

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