Ядро Linux отобразило VMA «слишком близко» к [куче], ограничивая его максимальный потенциальный рост.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ядро Linux отобразило VMA «слишком близко» к [куче], ограничивая его максимальный потенциальный рост.

Сообщение Anonymous »

Я заметил следующее (это результат моего сценария, который анализирует выходные данные pmap -XX через мой процесс C++, который содержит встроенную машину JVM, использующую JNI):

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

└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│    21.17M  rw-p    45.42M    45.11M        0K        0K  rd wr mr mw me ac sd     [heap]                                  │
│---------------------------------------------------------------------------------------------------------------------------│
│    66.59M          45.42M    45.11M        0K        0K                                                                   │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│     3.50G  rw-p    21.50M    12.00M        0K        0K  rd wr mr mw me ac sd                                             │
│            ---p   320.00M        0K        0K        0K  mr mw me nr sd                                                   │
│            rw-p   115.00M    74.63M        0K        0K  rd wr mr mw me ac sd                                             │
│            ---p    55.50M        0K        0K        0K  mr mw me nr sd                                                   │
│            rw-p     2.25M     2.12M        0K        0K  rd wr mr mw me ac sd                                             │
│            ---p  1021.75M        0K        0K        0K  mr mw me nr sd                                                   │
│---------------------------------------------------------------------------------------------------------------------------│
│     5.00G           1.50G    88.75M        0K        0K                                                                   │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Каждое поле представляет различные VMA, которые являются смежными в памяти, за которыми следует пунктирная линия, а затем сумма размеров членов непрерывной области. Первый столбец содержит начальный и конечный адреса региона, выраженные в удобочитаемой форме, чтобы иметь представление о том, насколько далеко друг от друга находятся эти регионы.
Выше вы можете видеть, что [куча ] основного потока начинается с адреса 21,17 МБ и заканчивается по адресу 66,59 МБ (поскольку его размер составляет 45 МБ). Однако следующая статистика VMA находится по адресу 3,50 ГБ (который представляет собой память, необходимую JVM, поскольку в нашем процессе есть встроенная JVM, использующая библиотеку JNI). Это означает, что если основная куча попытается превысить размер 3,50 ГБ, она будет конфликтовать со следующей VMA, что удивительно, поскольку 3,50 ГБ на самом деле не такой уж большой разрыв (он большой, да, но не безумно большой). По сути, это устанавливает жесткое ограничение на размер кучи для данного конкретного процесса.
Это «нормально»? Существуют ли какие-либо ограничения на размер одной и той же VMA в Linux? Или JVM предоставляет подсказку для mmap, которая была удовлетворена?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -its-maxim
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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