Как проверить, почему мое Java-приложение расходует памятьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как проверить, почему мое Java-приложение расходует память

Сообщение Anonymous »

Кажется, мое веб-приложение Java (Spring framework) каким-то образом истощает память.
Это вывод htop, и Swap кажется очень высоким.
Изображение

Я пытался использовать jmap для извлечения кучи, и это первые линии:

Код: Выделить всё

 num     #instances         #bytes  class name (module)
-------------------------------------------------------
1:        197506       19484416  [B (java.base@17.0.17)
2:        191419        4594056  java.lang.String (java.base@17.0.17)
3:         19950        2392728  java.lang.Class (java.base@17.0.17)
4:         64869        2075808  java.util.concurrent.ConcurrentHashMap$Node (java.base@17.0.17)
5:         25112        1890976  [Ljava.lang.Object; (java.base@17.0.17)
6:          8134        1750016  [C (java.base@17.0.17)
7:         19583        1723304  java.lang.reflect.Method (java.base@17.0.17)
8:         43914        1405248  java.util.HashMap$Node (java.base@17.0.17)
9:         13521         972376  [Ljava.util.HashMap$Node; (java.base@17.0.17)
10:         23526         941040  java.util.LinkedHashMap$Entry (java.base@17.0.17)
11:           848         755912  [Ljava.util.concurrent.ConcurrentHashMap$Node; (java.base@17.0.17)
12:         14261         743928  [I (java.base@17.0.17)
13:         12359         692104  java.util.LinkedHashMap (java.base@17.0.17)
14:          7915         506560  java.util.concurrent.ConcurrentHashMap (java.base@17.0.17)
15:          5345         384840  java.lang.reflect.Constructor (java.base@17.0.17)
16:         14889         357336  java.util.ArrayList (java.base@17.0.17)
17:         12774         306576  org.apache.catalina.loader.ResourceEntry
18:         18170         290720  java.lang.Object (java.base@17.0.17)
19:          7263         290520  java.lang.ref.SoftReference (java.base@17.0.17)
20:         11879         280064  [Ljava.lang.Class; (java.base@17.0.17)
21:          7449         238368  java.lang.ref.WeakReference (java.base@17.0.17)
22:           320         215040  io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueue
23:          3895         186960  java.lang.invoke.MemberName (java.base@17.0.17)
24:          3848         184704  java.util.HashMap (java.base@17.0.17)
25:          2197         175760  jdk.internal.reflect.DelegatingClassLoader (java.base@17.0.17)
26:         10935         174960  java.lang.Integer (java.base@17.0.17)
27:          2409         173448  java.lang.reflect.Field (java.base@17.0.17)
28:          6762         162288  io.pebbletemplates.pebble.node.TextNode
29:          3289         150152  [Ljava.lang.String; (java.base@17.0.17)
30:          5715         137160  io.pebbletemplates.pebble.node.expression.ContextVariableExpression
31:          2278         127568  java.lang.Module (java.base@17.0.17)
32:          3845         123040  io.pebbletemplates.pebble.node.expression.GetAttributeExpression
33:          4814         115536  java.beans.MethodRef (java.desktop@17.0.17)
34:            52         111616  [Ljava.nio.ByteBuffer; (java.base@17.0.17)
35:          6930         110880  java.util.jar.Attributes (java.base@17.0.17)
36:          2601         104040  java.lang.invoke.MethodType (java.base@17.0.17)
37:          4070          97680  io.pebbletemplates.pebble.node.expression.LiteralStringExpression
Честно говоря, я вижу только базовые объекты, и мне очень сложно понять, правильно это или нет.
Как я могу подробнее рассказать, почему jvm такой?

Подробнее здесь: https://stackoverflow.com/questions/799 ... ins-memory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»