Описание тега directmemory

3 ответа

Использование DMA для доступа к высокоскоростному последовательному порту

Я использую компонент serialport в C#, и он работает хорошо! Но вопрос в том, как можно быстрее обрабатывать высокоскоростные (например, 2 Мбит / с) передачи данных. Поскольку я исследовал это, я обнаружил, что к памяти можно получить доступ напряму…
28 май '15 в 06:53
1 ответ

Настройка MaxDirectMemory и MaxHeapMemory для приложений Java

Для моего Java-приложения я пытался ограничить кучу памяти и прямое использование памяти с помощью параметров командной строки. Я столкнулся со следующей статьей VMware, когда пытался понять больше о структуре памяти приложения Java. Из статьи я пре…
1 ответ

Почему рекомендуется использовать только буферы кучи с операциями [byte] в ChannelOutboundHandler.?

Мы работаем над открытым исходным кодом API-шлюза и используем Netty в качестве базовой платформы. Я наткнулся на слайды Нормана Маурера. В одном из слайдов он упомянул Используйте буферы кучи только в том случае, если нужно работать с байтом [] в C…
02 окт '18 в 14:02
1 ответ

Как бы я вызвал метод Java, используя длинный адрес памяти?

Допустим, у меня был адрес памяти, который был длинным в Java. Если я знаю, что адрес памяти был указателем на функцию, как я мог бы вызвать функцию по этому адресу? Причина, по которой я заинтересован в этом, заключается в работе с объектами вне ку…
18 окт '13 в 15:34
1 ответ

Как получить снимок памяти Direct для приложения Netty 4

У меня есть Netty Based Server, который обрабатывает многочисленные HTTP-запросы асинхронно. Цель - раскрыть прямое использование памяти приложения. Теперь я понимаю, что подсчет ссылок является одним из способов разоблачения использования памяти. Н…
1 ответ

Как освободить память с помощью Java Unsafe, используя ссылку на Java?

Класс Java Unsafe позволяет распределять память для объекта следующим образом, но используя этот метод, как бы вы освободили память, выделенную после завершения, так как он не предоставляет адрес памяти... Field f = Unsafe.class.getDeclaredField("th…
26 июн '14 в 11:51
1 ответ

GetByteArrayElements использует прямую память?

Я получил OOM Direct Memory в моей программе. Используемая программа ByteBuffer.allocateDirect() в Java, а сторона C++ записывает данные в этот буфер. Но когда я попытался изменить ByteBuffer.allocateDirect() в ByteBuffer.allocate() и используя GetB…
31 авг '12 в 19:14
3 ответа

Сколько данных слишком много для кэша Java в куче? Когда я должен начать думать о кеше вне кучи?

Сколько данных слишком много для кэша в куче, такого как ehcache? Я получаю 24 ГБ ОЗУ сервера. Я, вероятно, начну с того, что выделю 2-4 ГБ для кеширования, но, возможно, в конечном итоге выделим 20 ГБ или около того для кэширования. В какой момент …
20 янв '12 в 04:10
1 ответ

Эффективный способ узнать, кто выделяет прямую память

Я работаю над проектом JAVA, который объединяет множество компонентов из многих команд. Сегодня мы наблюдаем сильное потребление прямой памяти, но мы не можем найти, где она расположена. Я ищу эффективный способ (инструмент) для исследования такой п…
08 ноя '16 в 10:02
1 ответ

Буфер против небезопасных - вне JVM

У меня есть требование использовать пространство в доступной оперативной памяти, которое GC не может контролировать. Я прочитал несколько статей о том же самом, что дало мне представление о двух подходах. Они указаны в следующем коде. package com.di…
26 дек '15 в 08:00
1 ответ

Netty PooledDirect ByteBuf и ArrayList неожиданное поведение

Это кажется глупой ошибкой, так как я не мог найти, почему не все записи были удалены. Я бегу с JAVA_OPTS: -XX: MaxDirectMemorySize = 67108864 -Dio.netty.leakDetectionLevel = расширенный -D-Dio.netty.allocator.type= объединенный в пул -XX:+UseG1GC -…
01 фев '17 в 09:18
1 ответ

Готов ли кучи вне кучи DirectMemory для производства? Это активно?

DirectMemory, кажется, единственный открытый кэш вне кучи для Java. Готово ли оно к производству? Это активный, жизнеспособный проект? Я посмотрел на его архив списка рассылки, и его объем очень низкий.
20 янв '12 в 04:03
2 ответа

PooledUnsafeDirectByteBuf не найден в DirectMemory

Я использую Netty 4.1.17-Final. Я написал код для отправки и получения 100 МБ случайных ASCII. Декодер не читает, пока ByteBuf не станет 100 МБ. @Override public void decode(ByteBuffer _in, List<Object> _out) { if (_in.remaining() == size) { /…
20 июн '18 в 05:36
3 ответа

Использование огромных страниц и DirectByteBuffer в java hotspot jvm в Linux

Что я хотел бы сделать Мне нужно использовать прямую память, чтобы избежать движения вокруг GC. Я хотел бы включить огромные страницы для тех. До сих пор Флаг -XX:+UseLargePages прекрасно работает при использовании буфера кучи (не прямой ByteBuffers…
30 апр '13 в 13:17
2 ответа

ошибка перетасовки памяти: не удалось выделить прямую память

При выполнении пары объединений с искровыми кадрами данных (4x) я получаю следующую ошибку: org.apache.spark.shuffle.FetchFailedException: failed to allocate 16777216 byte(s) of direct memory (used: 4294967296, max: 4294967296) Даже при настройке: -…
0 ответов

как использовать прямую память в Tomcat

В моей сцене приложение в Tomcat - это система шлюза.его задача: пересылать http-запрос извне в dubbo-запрос внутри.он отлично работает в небольшом запросе, но у меня есть услуга, которая собирает данные больших файлов от клиента, каждый запрос прев…
1 ответ

Процесс java утекает из кучи памяти

У меня есть java-процесс, который создает в них кратковременный поток и короткий прямой байтовый буфер в них непрерывно каждые 10 миллисекунд, который съедает системную память. Хотя байтовые буферы недолговечны, они не очищаются. Я вызвал проблему и…
09 сен '19 в 06:02
0 ответов

Почему Java требуется копировать память кучи из (в) прямую память при использовании системного вызова ввода-вывода?

Почему Java необходимо копировать динамическую память из (в) прямую память при использовании системного вызова ввода-вывода? В некоторых статьях говорится, что это из-за GC, но я этого не понимаю. И если это действительно из-за GC, есть ли эта пробл…
12 сен '19 в 12:22
0 ответов

Свободен ли ЦП при DMA?

Я читал, что, когда выполняется операция прямого доступа к памяти, то есть ЦП дал разрешение механизму прямого доступа к памяти использовать системную шину, ЦП не может использовать системную шину. У меня вопрос: Как тогда ЦП может выполнять свои со…
18 ноя '19 в 13:05
1 ответ

Что такое io.netty.allocator.maxOrder в Netty?

Объясните, пожалуйста, что такое io.netty.allocator.maxOrder в Netty! По умолчанию это значение равно 11, поэтому я получаю 8192 << 11 = 16 МБ на фрагмент. Для 2 ядер на Java 11 я получаю 4 прямые арены с 6 DirectByteBuffers на каждой (у меня есть д…
27 янв '20 в 12:07