Инструменты для просматривания/решения фрагментации памяти Windows XP

Если вы используете Polymer и Firebase (полимерный огонь), см. этот ответ: https://stackoverflow.com/a/46698801/1821603

По существу вы создаете вторичный для обработки новой регистрации пользователя, не затрагивая текущего пользователя.

5
задан Community 23 May 2017 в 11:58
поделиться

5 ответов

Согласитесь с Torlack, многое из этого - то, потому что другие DLLs становятся загруженными и входят в определенные пятна, разбивая объем памяти, который можно получить для VM в одном большом блоке.

Можно сделать некоторую работу над WinXP, если у Вас есть больше, чем 3G памяти, чтобы получить часть перемещенного материала окон, искать PAE здесь: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx

Ваш лучший выбор при реальной необходимости в больше, чем 1.2G памяти для приложения Java состоит в том, чтобы посмотреть на окна на 64 бита или Linux или OSX. При использовании какого-либо вида собственных библиотек с приложением, необходимо будет перекомпилировать их для 64 битов, но его попытка быть намного легче, чем попытка повторно основывать dlls и материал для максимизации памяти можно войти в окна на 32 бита.

Другая опция состояла бы в том, чтобы разделить Вашу программу на несколько VMs и сделать, чтобы они общались друг с другом через RMI или обмен сообщениями или что-то. Тем путем каждый VM может иметь некоторое подмножество памяти, в которой Вы нуждаетесь. Не зная, что делает Ваше приложение, я не уверен, что это поможет всегда, хотя...

2
ответ дан 14 December 2019 в 13:51
поделиться

Если у Вас не заканчивается пространство файла подкачки, эта проблема не то, что компьютер исчерпывает память. Смысл виртуальной памяти должен позволить процессам использовать больше виртуальной памяти, чем физически доступно.

Не зная, как JVM обрабатывает "кучу", немного трудно сказать точно, какова проблема, но одна из распространенных проблем - то, что нет достаточного непрерывного бесплатного адресного пространства, доступного в Вашем процессе, чтобы позволить "куче" быть расширенной. Почему это было бы проблемой после того, как машина работала, некоторое время немного сбивает с толку.

Я работал над подобной проблемой на работе. Я нашел что, выполнив использование программы WinDBG и использование"! обратитесь" и"! адрес - сводка" команды была неоценима в разыскивании, почему виртуальное адресное пространство процессов стало фрагментированным. Можно также попытаться запустить программу после перезагрузки и использовать"! обратитесь" к команде, чтобы сделать снимок адресного пространства и затем сделать то же, когда программа больше не будет работать. Этот мог бы подсказка Вы в на проблеме. Возможно, что-то простое как дополнительная загрузка получения DLL могло бы вызвать проблему.

2
ответ дан 14 December 2019 в 13:51
поделиться

Возможно, необходимо рассмотреть, чтобы запустить программу и резервирование памяти и не закончить VM после каждого выполнения. Ищите различные опции GC и выпустите свои объекты.

0
ответ дан 14 December 2019 в 13:51
поделиться

Используя Мини-мадам (http://minimem.kerkia.net/) для того приложения мог бы решить Вашу проблему. Однако я не уверен, что это - ответ, который Вы ищете. Я надеюсь, что это помогает.

0
ответ дан 14 December 2019 в 13:51
поделиться

Я подозреваю, что проблема заключается в фрагментации памяти Windows. В StackOverflow есть еще один вопрос, который называется Максимальная память Java в Windows XP , в котором упоминается использование Process Explorer для просмотра того, где библиотеки DLL отображаются в памяти, а затем для решения проблемы путем перебазирования библиотек DLL для загрузки в память. более компактным способом.

2
ответ дан 14 December 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: