LINUX.ORG.RU

Жава не освобождает память после выхода

 ,


0

1

Короче, сижу я такой, пишу лабу на жаве. Замечаю, что приложенька стремительно пожирает оперативку в ходе своего функционирования и не отдаёт обратно. Ну пофиг, думаю, с кем не бывает, сейчас отладим. Закрываю окошко, процесс завершается... а память не вернулась!

Целых два гига оттяпано сверх нормы!

Перезагрузился, повторил эксперимент. То же самое: было порядка 500М занято, а после приложеньки уже 2 с лишним гига. Погрепал по ps aux, никаких жав не имеется. Tmpfs-ы тоже вроде почти пустые.

Что за ерунда, товарищи? Где искать проблему?

Система - Arch Linux, OpenJDK 8 + OpenJFX 8.


Ответ на: комментарий от evgeny_aa
$ cat /proc/meminfo
MemTotal:        6037368 kB
MemFree:         2886736 kB
MemAvailable:    3209284 kB
Buffers:           31936 kB
Cached:           557992 kB
SwapCached:            0 kB
Active:           706924 kB
Inactive:         370464 kB
Active(anon):     488040 kB
Inactive(anon):    72476 kB
Active(file):     218884 kB
Inactive(file):   297988 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:              1404 kB
Writeback:             0 kB
AnonPages:        487540 kB
Mapped:           350280 kB
Shmem:             73060 kB
KReclaimable:      37608 kB
Slab:             102324 kB
SReclaimable:      37608 kB
SUnreclaim:        64716 kB
KernelStack:        7776 kB
PageTables:         7572 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     3018684 kB
Committed_AS:    2044952 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       27228 kB
VmallocChunk:          0 kB
Percpu:             9408 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:     2591584 kB
DirectMap2M:     3584000 kB
DirectMap1G:           0 kB
tsmx ()
Ответ на: комментарий от Deleted

Да хоть head -10. Очевидно же, что там лиса будет, плюс всякие там иксы и networkmanager-ы.

Поубивать их всех из консольного TTY было первым, что я сделал, когда у меня закончились консервативные варианты. Не помогло.

tsmx ()
Ответ на: комментарий от Legioner

Кстааати, подъехала новая инфа.

Судя по всему, в утечке виноват не я, а какой-то древний баг с Mesa и OpenJFX: https://stackoverflow.com/a/40239829

Включение опции -Dprism.order=sw полностью убирает утечку.

Правда, вопрос «куда девается память» остаётся открытым.

tsmx ()
Ответ на: комментарий от tsmx

Мне кажется, в драйвере утекает. Если есть новая версия, я бы попробовал обновиться. Жава тут в любом случае не при чём, ну кроме того, что триггерит утечку.

Legioner ★★★★★ ()
Ответ на: комментарий от tsmx

Кстати, потребление памяти модулей - это второй столбец вывода lsmod, судя по всему. Попробуй сравнить до/после. Правда, вывод не отсортирован.

Deleted ()