Мы разрабатываем приложение swing, написанное Java, которое требует только около 128 МБ памяти, и в ближайшем будущем я не вижу, что для этого потребуется гораздо больше памяти, например, 4 ГБ. Ранее мы предоставляем всегда 3 разных выпуска, один для 32-битной Windows, один для 32-разрядной Linux и еще один для 64-разрядной Linux, с установщиком, в который включен JRE. 64-разрядная версия не использовалась кем-либо еще пару недель назад, и было сообщено об OutOfMemoryException, поскольку приложение потребляет на 40-50% больше памяти, чем 32-разрядная версия.32-разрядное или 64-разрядное приложение на 64-битной ОС?
Вопрос в том, нужен ли нам вообще для 64-разрядной версии 64-разрядной версии Linux, если приложению никогда не понадобится использовать более 4 ГБ памяти? У нас был быстрый тест, который показал, что 32-разрядная версия работает и на 64-разрядной Linux. Но я не уверен, какие могли бы быть минусы, которые у нас были бы, например. производительности и/или совместимости?
Позвольте мне пояснить это немного: 32-разрядная версия использует 128 Мбайт как максимальная память, для 64-битной версии может потребоваться 192 МБ, поэтому нам нужно не только создавать дополнительные 64-битные инсталляторы, но и создавать разные конфигурации, что усложняет задачу. И если мы используем 192 МБ для всех версий, это может сделать утечки памяти не столь заметными для нас, потому что 32-битная версия наиболее часто используется к настоящему времени. Еще одна вещь: многие приложения могут работать на этом сервере, поэтому мы хотели бы сократить потребление памяти как можно ниже. –
Это не потребует больше памяти, если вы используете 32-битные ссылки в 64-разрядной JVM. –