Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Even though the JVM is cross-platform, there are be differences in

  • behaviour;
  • performance;
  • stability.

Some of them are quite clear, as in the heap size limitation on 32bit. Some of them are not, such as the increased tuning hooks on Solaris.

I'd like to know which platforms ( OS, CPU architecture ) you're running your java apps on, and especially why.

share|improve this question
Put your answer as an answer rather than a question. – workmad3 Jun 1 '09 at 20:22

amd64 debian. i feel at home with it [ yes i do know it's not expected answer, still let it count for statistics ]. in fact i never considered moving it under windows or even testing performance there, on the other hand java part is not a bottleneck for me.

share|improve this answer

As of RHEL/Centos 5.3, you can install the OpenJDK 6 release that has been validated against Sun's TCK for Java 6. For ease of maintenance, cost, and performance (it's largely built of the exact same sources as Sun's own JVM) it's very hard to beat.

share|improve this answer

Favorite platform is Sparc Solaris, but x64 Solaris is almost as good. :-) Stability, speed, just no problems at all.

share|improve this answer

We're running our Java-based web applications almost exclusively on X86-64 and Windows Server (2003 or 2008). The reason for the OS choice is, that almost all of our customers prefer Windows servers and don't have enough experience to support *nix servers.

We haven't had any major problems running Java server apps with Windows, but most of our developers run Linux themselves.

share|improve this answer

We go with Solaris on Sparc for servers (good HW, good performance, best OS), for workstations usually Windows because of various special devices connected to our system (automated scales, label printers, ...).

Development is completely agnostic (barring above special devices), done mainly on OS X and Windows.

Linux is not on the picture as it changes too quickly without regard for compatibility and we need to have systems which will be supported for 10 years.

share|improve this answer

I use :

  • x86_64, since it's a popular architecture - easy to manage in terms of hardware, and I can get heaps > 4 GB if I want to;
  • CentOS, since it's a popular distribution ( see a pattern here ? ) - and I can easily find documentation and packages for it.
share|improve this answer

Sun Solaris and RHEL

* behaviour; ++
* performance; ++ 
* stability. ++
share|improve this answer

I don't see why you'd use a different OS or hardware configuration specifically for Java applications. Personally, I'd use whatever I'm familiar with and whatever works best for me. Yeah, there might be slight differences in performance and/or memory usage depending on the system, but that doesn't mean you should use that specific configuration for your Java applications. Just use whatever you prefer, or whatever you use on your other servers. Java is likely not going to be your bottleneck anyway, so I don't think it matters all that much.

share|improve this answer
Not looking for a poll. I specifically said : "and especially why." I'll bold it, perhaps to make it clear. – Robert Munteanu Jun 1 '09 at 20:13

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.