wood burning stoves*
The moose likes Linux / UNIX and the fly likes Linux - SUSE or Ubuntu? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » Linux / UNIX
Bookmark "Linux - SUSE or Ubuntu?" Watch "Linux - SUSE or Ubuntu?" New topic
Author

Linux - SUSE or Ubuntu?

Tommy Mato
Greenhorn

Joined: Dec 14, 2007
Posts: 26

OK, lets get the apology out of the way first. To my shame, I've spent most of my life in the MS/Dos and Windows environments. I know next to nothing about Linux.

I want to get a Linux desktop for performance reasons. I'm writing a very processor-bound piece of software. I will be multi-threading so that I can make wring every ounce of processing power from a quad-core chip (possibly 2 x quad cores). Having gone to great lengths to keep my database completely in RAM and the code multi-threaded, I don't want to spoil it by having Windows running wasteful and idiotic services all over the place. I've been told that it is possible in Linux to create a 'dedicated' environment that gives all of the processor over to the program. Please comment if my understanding is valid or flawed.

Also, without wanting to start a religious OS war, could someone advise whether SUSE or Ubuntu would be better for a Linux noob like me? Is there any difference when it comes to using Java tools?

I bow down in respect to your experience and wisdom. Thanks in advance.

Tom
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19649
    
  18

Both SUSE and Ubuntu have services too, and they too require resources (processor cycles, memory). And yes, you can turn those off, but you can also turn off Windows services. Also, changing process priorities is possible on both Linux (nice command) and Windows (through the Task Manager). Granted, with Linux you can disable the GUI completely, but you'll have to do that yourself in both SUSE and Ubuntu.

If you want to have the kind of control you ask for, perhaps Slackware or Debian is a better option (less focused on the GUI). They are harder to install and configure though.


Anyway, moving to General Computing.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

You'd be better served looking very closely at VM benchmarks, VM implementations, VM tuning, and multi-threading best practices than focusing on the OS.

I'm not saying that switching OSes won't end up being part of the solution, but it probably won't be the biggest bang for the buck.
Marco Ehrentreich
best scout
Bartender

Joined: Mar 07, 2007
Posts: 1280

Hi Tommy,

I've been working with Linux for almost 10 Years now because I like that you can easily start from zero and install and run only programs/services you really need. Of course this is more or less possible with Windows, too, like Rob said.

But even if Linux is a lot more user friendly than it was some years ago you have to pay a price to use an OS which is more configurable than Windows :-) It depends on how much you want to get from your OS of course. As long as everything works out of the box a modern Linux distribution like Ubuntu, SuSE or Debian will be easy to install (at least with standard hardware) and easy to configure for the basic things. But if things go wrong you may easily spend hours, days or weeks to figure out the problems if you don't have any experience with UNIX/Linux yet! This doesn't mean that this is a general problem with Linux but of course it CAN happen that something goes wrong and then I guess it will be harder to repair things with Linux. Just be warned :-)

The choice of a particular distribution depends on your experience and the things you're trying to do with the system. Do you need a GUI or just a server system? Will you need support service? I think Ubuntu or Kubuntu will be fine to start with. You can easily install it as a minimal server system or as a desktop system with a lot more features. I started with SuSE once but I don't like it any more which is more or less a personal choice. Personally I'm using Gentoo for the last few years and I'm very happy with it but this is definitely nothing you want to try as a beginner.

Besides these advices I really think that you should care about what David said! Choosing another operating system with which you don't have any experience probably will gain you nothing if you don't even know IF the OS is a bottleneck and where the bottleneck is. You can do really a lot of tuning on the layer of the OS with Linux and surely with Windows, too. But if it's your own application design which causes performance problems then no OS will help you very much The said Windows service for example may be annoying but as long as the do nothing they won't cost very much performance. If there's a memory bottleneck you can still turn the unused services off. Linux may be a little bit more minimalistic but with the distributions for "beginners" there will be some unnecessary services running, too, which you will have to turn off.

Anyway good luck with whatever you will be choosing!

Marco
Amit Ghorpade
Bartender

Joined: Jun 06, 2007
Posts: 2716
    
    6

We have have forum dedicated to Linux discussions, I'll move this there.


SCJP, SCWCD.
|Asking Good Questions|
Greg Charles
Sheriff

Joined: Oct 01, 2001
Posts: 2833
    
  11

I agree with David. You should take a look at OSGi as a way of speeding up your application first, then look at different platforms. That said, I have to believe that a non-GUI installation of Linux would be faster than Windows. Also you wouldn't have to reboot every few days.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

There are lots of Linux distributions besides Ubuntu and SUSE. Have a look at DistroWatch for lots of information on many Linux distributions.

I like Ubuntu and use it as the main OS on my laptop. There are Linux distributions such as Arch Linux and Gentoo Linux in which you get a small base system, and you compile all the other software yourself from source code, which results in a system with software that is optimally compiled and configured for your specific hardware. But those Linux distros are definitely hard to set up and not recommended if you are a beginner with Linux.

Greg: OSGi is a way to modularize your application and to deal with large systems that have lots of dependencies etc. It's not something that will really help your Java programs run faster.


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Greg Charles
Sheriff

Joined: Oct 01, 2001
Posts: 2833
    
  11

Jesper Young wrote:Greg: OSGi is a way to modularize your application and to deal with large systems that have lots of dependencies etc. It's not something that will really help your Java programs run faster.


From: http://www.osgi.org/About/WhyOSGi:

Fast - One of the primary responsibilities of the OSGi framework is loading the classes from bundles. In traditional Java, the JARs are completely visible and placed on a linear list. Searching a class requires searching through this (often very long, 150 is not uncommon) list. In contrast, OSGi pre-wires bundles and knows for each bundle exactly which bundle provides the class. This lack of searching is a significant speed up factor at startup.

also

Lazy - Lazy in software is good and the OSGi technology has many mechanisms in place to do things only when they are really needed. For examples, bundles can be started eagerly, but they can also be configured to only start when another bundle is using them. Services can be registered but only created when they are used. The specifications have been optimized several times to allow for these kind of lazy scenarios that can save tremendous runtime costs.
Samuel Goldschmidt
Greenhorn

Joined: Jun 14, 2009
Posts: 15

First of all, I've been using openSuSE a lot for many years and have found it intuitive and fast.

Second, regarding your

I've been told that it is possible in Linux to create a 'dedicated' environment that gives all of the processor over to the program.


You can in fact customize your Linux to a point where it's using 640k of ram and 3,2 MB on your hard disk (though it won't look very impressive afterwards), but that requires a lot of expertise.
To make said task of customizing Linux a bit easier, Novell, the company which owns openSuSE, has begun to work on a tool named SuSE studio, which runs in the web browser. Using the tool, everybody with a bit of experience in Linux is able to create a really customized version of openSuSE for himself.
http://susestudio.com/

However, SuSE studio is still in Beta, and to get access, you've got to get an invitation. Well, I'm probably talking too much, just visit the site and find out for yourself.

Cheers,
Sam
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

@Greg: Ok, so OSGi can make certain things faster, such as starting up your application. But it does not make Java bytecode magically run faster. Tommy is saying that he needs raw processor performance. OSGi is not going to help his Java program get more computing power out of his CPU.
Chillytic Chillytic
Greenhorn

Joined: Aug 10, 2009
Posts: 2
I like Suse over Ubuntu but Ubuntu would be the better choice for a newbie because of the enormous amount of help available on the internet.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074
    
  16

"Chillytic Chillytic", welcome to JavaRanch.

Please check your private messages for an administrative matter from JavaRanch.
manuel aldana
Ranch Hand

Joined: Dec 29, 2005
Posts: 308
i recently switched from suse (11) to ubuntu (9.04). main reason was the magnificent support (e.g. http://ubuntuforums.org/) and it handled better hardware out of the box (in my case hp dockingstation).


aldana software engineering blog & .more
Pat Farrell
Rancher

Joined: Aug 11, 2007
Posts: 4646
    
    5

While not one of your two choices (I've used SuSE and am typing this on Ubuntu 9.04) I run debian on my boxes where I want control. It can be installed to be nearly as user friendly as Ubuntu (which is built on Debian). Its also easy to turn off stuff that trades ease of use for performance.

But for serious performance, I just go buy a new computer. They get faster every few months. I'm typing this on a Core 2 Duo system, but I've got a quad system with 8GB on order and will get it late this week or early next week.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Linux - SUSE or Ubuntu?
 
Similar Threads
Opinions on Ubuntu
LILO, partitions, and the evil that is Microsoft
Choosing distro
laptop for programming
Which One?