Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have the opportunity to add a second processor to my linux server and was wondering if it was worth doing. My server is the primary domain controller for a network of about 6 client machines. It servers as the file server, internet gateway, print server, mail server and intranet server for the network. I am not running any server based applications. It is a Dell 1400 server that is dual processor capable but when I bought it I only got one processor. I am running hardware Raid on a series of scsi drives so I don’t think drive access would be affected. Now I have the opportunity to put in a second one if I want but was wondering if anyone could advise:
1 Can Linux accommodate multiple processors? I heard it can support up to 4 processors, is this correct?
2 I’m using SuSE 8.1 Pro (kernel 2.4.19), can I simply drop in another processor or do I have to recompile the kernel or reinstall?
3 What benefit does Linux get from a multi processor system over a single processor system?
4 Considering what the server does, is it worth bothering with and would I be better off adding more ram?
If you want to use multiple processors, I think you have to have a kernel compiled with symmetric multi-processing support compiled in. This is under "processor type and features" in menuconfig.
i think ram is the easiest solution to pep up any computer. but, what processor do you currently have in it, and how much ram do you have and how much can the computer hold? also, the processors have to be the same in a multiprocessor system (you prob knew that). i agree with vasudevadas, smp is required and i don't think that is a simple rpm package. i think you'd possibly be looking at a kernel recompile. i'd like to know what you figure out though.
Please excuse the stupid question but how can I tell is smp is enabled? I don’t seem to have a menuconfig file and can’t find any reference to smp in any of the information or config files.
type "dmesg | grep -i cpu" and see if there's a cpu0 and cpu1, or two cpu entries that are not the same # after. If dmesg shows 2 cpu's initialized, then SMP is enabled. Some Asus motherboards required disabling stuff in the BIOS or SMP kernels crash.
You have to boot an SMP kernel. For distros like RH, when you install it detects whether or not you can use SMP, and installs an SMP kernel alongside your default one, which you can choose in lilo (there will be an entry "Linux", and one "Linux-UP". UP is Uni Processor, or "No SMP").
Here's what dmesg | grep -i cpu returns on my dual P3-1gHz RedHat box.
Initializing CPU#0
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000
CPU: Common caps: 0383fbff 00000000 00000000 00000000
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#0.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000
CPU: Common caps: 0383fbff 00000000 00000000 00000000
CPU0: Intel Pentium III (Coppermine) stepping 0a
per-CPU timeslice cutoff: 731.82 usecs.
enabled ExtINT on CPU#0
Initializing CPU#1
masked ExtINT on CPU#1
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
Intel machine check reporting enabled on CPU#1.
CPU: After generic, caps: 0383fbff 00000000 00000000 00000000
CPU: Common caps: 0383fbff 00000000 00000000 00000000
CPU1: Intel Pentium III (Coppermine) stepping 0a
..... CPU clock speed is 1004.5353 MHz.
cpu: 0, clocks: 1339379, slice: 446459
CPU0<T0:1339376,T1:892912,D:5,S:446459,C:1339379>
cpu: 1, clocks: 1339379, slice: 446459
CPU1<T0:1339376,T1:446448,D:10,S:446459,C:1339379>
checking TSC synchronization across CPUs: passed.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.