Size: a a a

2021 March 16

ВВ

Виктор Вербицкий... in graalvm_ru
Max Grigoriev
Ну это будет что то специфичное типа Кафка стрим где роксдб будет есть хорошо. Но обычно лимитов кубков достаточно
Да не обязательно совсем. Много классов в приложении или потоков много создаётся или ещё чего. Вариантов мульон
источник

DK

Dmitriy Kovalenko in graalvm_ru
Max Grigoriev
А как выставить/посмотреть ее для нативного приложения?
Если по простому - дай побольше контейнеру памяти чтобы OOM Killer не приходил. Если есть желание заморочится и подобрать оптимальные значения:
https://blogs.oracle.com/poonam/troubleshooting-native-memory-leaks-in-java-applications
https://www.baeldung.com/native-memory-tracking-in-jvm

подбирай параметры
-XX:MaxDirectMemorySize -XX:MaxMetaspaceSize -XX:ReservedCodeCacheSize -Xss

для подбора правильных значений можно воспользоватся https://github.com/cloudfoundry/java-buildpack-memory-calculator
источник

MG

Max Grigoriev in graalvm_ru
про класссы для нативного это не работает вообще, а потоков там не много. те нет ничего чтобы было чем то нееобычным
источник

MG

Max Grigoriev in graalvm_ru
>Если по простому - дай побольше контейнеру памяти чтобы OOM Killer не приходил.
у меня нативный имадж там нет метаспейса и подобного
источник

A

Arcane in graalvm_ru
Dmitriy Kovalenko
Если по простому - дай побольше контейнеру памяти чтобы OOM Killer не приходил. Если есть желание заморочится и подобрать оптимальные значения:
https://blogs.oracle.com/poonam/troubleshooting-native-memory-leaks-in-java-applications
https://www.baeldung.com/native-memory-tracking-in-jvm

подбирай параметры
-XX:MaxDirectMemorySize -XX:MaxMetaspaceSize -XX:ReservedCodeCacheSize -Xss

для подбора правильных значений можно воспользоватся https://github.com/cloudfoundry/java-buildpack-memory-calculator
В нативном же нет метаспейса и код кеша
источник

OS

Oleg Shelajev in graalvm_ru
там direct memory в основном какие-нибудь netty для bytebuffer'oв
источник

OS

Oleg Shelajev in graalvm_ru
можно запариться конечно и выставить - https://www.graalvm.org/reference-manual/native-image/MemoryManagement/
источник

OS

Oleg Shelajev in graalvm_ru
можно выставить -XX:±CollectYoungGenerationSeparately
источник

OS

Oleg Shelajev in graalvm_ru
например
источник

OS

Oleg Shelajev in graalvm_ru
потому что там же серийный копирующий коллектор — 2х памяти в момент full GC может быть
источник

MG

Max Grigoriev in graalvm_ru
сейчас попробую ограничить хип явно
источник

OS

Oleg Shelajev in graalvm_ru
сделай половину mem-limit'a :)
источник

MG

Max Grigoriev in graalvm_ru
так надо понять а какой вообще мем лимит нужен
источник

OS

Oleg Shelajev in graalvm_ru
когда VerboseGC стоит
источник

OS

Oleg Shelajev in graalvm_ru
то в логе есть что-нибудь перед смертью?
источник

MG

Max Grigoriev in graalvm_ru
у меня логах было вот так
[Full GC (CollectOnAllocation) 74527K->53108K, 0.0699908 secs]
... через 0.5 сек
[Incremental GC (CollectOnAllocation) 80647K->70447K, 0.0010558 secs]
[1895994152974018 GC: after   epoch: 1052  cause: CollectOnAllocation  policy: by space and time  type: incremental
collection time: 1055828 nanoSeconds]]
[[1895994170490825 GC: before  epoch: 1053  cause: CollectOnAllocation]
... еще через 0.5 сек
./run_native.sh: line 5:     6 Killed                  ./application -Dquarkus.http.host=0.0.0.0 -Dquarkus.application.env=$DD_METRICS_ENV $JAVA_OPTS

те каких либо проблем больших нее наблюдалось
источник

MG

Max Grigoriev in graalvm_ru
вообщем чудеса добавил -XX:+CollectYoungGenerationSeparately -Xmx60m
и все работает не жужит
в логах фулл гц нормально все очищает
[Full GC (CollectOnAllocation) 51047K->40848K, 0.0528536 secs]
источник

ВВ

Виктор Вербицкий... in graalvm_ru
Ну может это и на багрепорт тянет, что эвристики некорректно в k8s срабатывают
источник

ВВ

Виктор Вербицкий... in graalvm_ru
К слову в k8s же и не докер может быть и вообще х.з. как там лимиты проставляются, вот может и не хватать нужные параметры
источник

MG

Max Grigoriev in graalvm_ru
да поведение кубика мне что то не понятно - сейчас попробую еще ужать хип до 40 мб
источник