"Java memory" should definitely be lower, preferably quite a bit lower than available RAM, otherwise your server will start swapping and server performance go down a lot.
A number of things to consider to determine the "right" settings for Java heap space:
- what's running on the server? If OpenFire is the only thing running, it can obviously be allowed to reserve more RAM
- how much RAM does OpenFire really need? If you give a Java process lots of heap memory, it'll fill it before initiating a garbage collection. If you decrease heap size, it'll just have to collect garbage more often.
It may take some time to find the "ideal" settings, but often it's not useful to just allow the server to take up more memory.