Uso de memória virtual do Java no Linux, muita memória usada

Estou com um problema com um aplicativo Java em execução no Linu

Quando inicio o aplicativo, usando o tamanho máximo de heap padrão (64 MB), vejo que, no aplicativo superior, 240 MB de memória virtual são alocados ao aplicativo. Isso cria alguns problemas com outro software no computador, que é relativamente limitado em recurso

A memória virtual reservada não será usada de qualquer maneira, pelo que entendi, porque quando atingirmos o limite de heap, umOutOfMemoryError é lançado. Executei o mesmo aplicativo no Windows e vejo que o tamanho da memória virtual e o tamanho da pilha são semelhante

xiste alguma maneira de configurar a memória virtual em uso para um processo Java no Linu

Edit 1: O problema não é o heap. O problema é que, se eu definir um monte de 128 MB, por exemplo, o Linux ainda alocará 210 MB de memória virtual, o que não é necessário, nunca. **

Edit 2: Usandoulimit -v permite limitar a quantidade de memória virtual. Se o tamanho definido estiver abaixo de 204 MB, o aplicativo não será executado, mesmo que não precise de 204 MB, apenas 64 MB. Então, eu quero entender por que o Java requer tanta memória virtual. Isso pode ser alterado?

Edit 3: Existem vários outros aplicativos em execução no sistema, que está incorporado. E o sistema tem um limite de memória virtual (de comentários, detalhes importantes).

questionAnswers(8)

yourAnswerToTheQuestion