Need help - Memory problems


i need help with elasticsearch memory problem...

We use one instance of elasticsearch(0.19.8) with non root user:

jdk: 1.7.05 or 1.6.26 (64Bit)
bootstrap.mlockall: true (max locked memory (kbytes, -l) unlimited) niofs false
gateway.type: local

The Server(VM, Linux, 64Bit, Kernel 2.6.26) has 4G memory and 1G swap.

I developed a river that downloads and indexed XML data periodically.
The old indexes is deleted by the river, if new index creation was
successfull and alias will be switched to new indexes.
Currently, two indexes are created simultaneously with the size of each
300-400MB(15000 docs).
Heap size during the indexing is max. 400-600 MB. GC behavior: no probs, no
full gc's ...
BUT: virtual size of java process growing and after a few hours(2 index
processes) server crashed because of out of memory (memory and swap are
After indexing and deleting the old index(first indexing time) Memory usage
goes down only slightly.

Does anyone have any idea?