# Crunching on Linux Tips, Tricks, and Useful Hints



## Nordic (Aug 28, 2015)

My purpose in making this thread, is to share some information I have been gathering on how to potentially obtain better WCG performance from linux. I have been messing around with a few things, and have realized there are better ways to benchmark and test. It would also be better to share as I go, so we can all hopefully help each other out.

I will be making lots of posts and putting up directions at first, but my goal is to have this be a general purpose thread for the team. So please feel free to post any tips, tricks, and useful hints for crunching on linux.

I will be making several posts today and this weekend, detailing everything I can think of that should be in this thread. If expect over the next few weeks, I will be updating and revising my directions to make them more clear and concise so be sure to watch the thread over time.


----------



## Nordic (Aug 28, 2015)

All directions I am providing are assuming a debian or ubuntu based linux with apt installed.
*
Configuring Boinc on Linux*
To take a bit of wisdom from @ThE_MaD_ShOt, with this you can have your work report immediately with. You can also add in any options from here if you like.


ThE_MaD_ShOt said:


> Here's how I do it.
> 
> First I fire up terminal.
> Then I type " sudoedit /ect/boinc-client/cc_config.xml"
> ...


For example, my config file looks like this.

```
<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags
<options>
<report_results_immediately>1</report_results_immediately>
<no_priority_change>1</no_priority_change>
<no_gpus>1</no_gpus>
</options>
</cc_config>
```
*Benchmarking*
Most of the things I will mention in following posts, will be with the intention of increasing performance on linux for WCG. To know if anything actually changed, you should benchmark before and after.

This is the best way I know and it is the same with windows and linux. Go to the advanced options tab, and select "Run Cpu benchmarks" and then go to the "Event Log..." to see the results.



Spoiler











For example, the results from my g1620 celeron are:
3420 floating point MIPS (Whetstone)
18213 integer MIPS (Dhrystone)

Before doing any potential performance improvements, I would do this and write the results down somewhere to get a before and after.

----------------------------------------------------------------------------

As an alternative, you can use UNIXBENCH. I was using it before I realized I had a much better and more direct benchmark built right into boinc. It does a whole system benchmark, and can show gains in other areas compared to BOINCS cpu only benchmark. Directions are in the spoiler.


Spoiler



Unixbench provides a performance overview at a system level by testing a number of various factors:

·  Dhrystone

·  Whetstone

·  Excel Throughput

·  File Copy

·  Pipe Throughput

·  Pipe-based Context Switching

·  Process Creation

·  Shell Scripts

·  System Call Overhead

·  Graphical Tests

At the end you’ll get an overall system score for a single process utilising 1 CPU Core or parallel processes utlising all the CPU Cores in your system. If you want an idea on how your server compares to other hosts you can check ourserver benchmarks.

There’s two ways you can get UnixBench running on your Ubuntu system:

In order to compile Unixbench yourself you will need to make sure you have the right packages installed in Ubuntu:


```
sudo apt-get install libx11-dev libgl1-mesa-dev libxext-dev perl perl-modules make && sudo apt-get install build-essential
```
Once everything is installed you can then grab the latest UnixBench version (5.1.3) from Google Code, the following command will also run UnixBench:


```
wget http://byte-unixbench.googlecode.com/files/unixbench-5.1.3.tgz
tar xvf unixbench-5.1.3.tgz
cd unixbench-5.1.3
./Run
```

It will take a while to run. It took over over an hour on my 2500k system with ssd. Write down the single threaded and multithreaded number, those will be the “before” optimization to compare to after all of this is done. For reference, my 2500k system has 2190.4 for single threaded and 6215.0 for multithreaded on a fresh install of Ubuntu.
Source https://www.bitronictech.net/knowle...nd-Run-UnixBench-on-CentOS-or-Debian-VPS.html



*Useful Software*

*SSH*
One of the most useful softwares I have used on linux is openssh. It allows me to use the linux terminal from the comfort of my main computer running windows. I can have directions up on my nice big 1080p monitor, and just copy and paste them into the terminal. I can have multiple computers up at once. This was very useful when I was trying to do the same thing to more than one computer, because I could do them from the same screen and same keyboard saving time. SSH will make the performance related directions I have in the next post much easier.

To get started with ssh, follow these commands:


Spoiler



Type into the terminal:

```
sudo apt-get update && sudo apt-get install openssh-server && sudo ufw allow 22
```

This will install open ssh. Since these are crunchers with nothing on them, I did not care about security. If you do, I leave it to you to figure out how to use SSH securely. There are many great guides that are a quick google search away.

You are not done though. You need to install an ssh client on your preferred windows computer. I recommend putty, which you can download here.

This is what it looks like on windows. I have two ssh terminals up, one to my g1620 linux mint system, and the other to my 2500k ubuntu server system. Notice, the ubuntu server gives some nice stats by default.







*Monitoring Temperature, Cpu Mhz, and More*
Just to list off some other useful software, there is psensor and conky. Psensor will allow you to check the temperature on your cpu. Conky does that and a whole lot more. Conky will let you see nearly any stat about your system that you want. It will check your email, and tell you the weather if you want it too. I only mention psensor in case conky does not work for you.

Use the following commands to get Conky:


Spoiler





```
sudo apt-get install conky curl lm-sensors hddtemp
```

To start conky type conky into the console.

```
conky
```

Conky starts out pretty basic. Just a little black box in the corner with some information. If configured it can get as crazy as something like this.





Here is a basic guide on how to configure conky. You can use it to go as crazy as that picture above.

Or you can edit my personal conky config to your own liking.


Spoiler





```
# conky configuration
#
# The list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
#
# For ideas about how to modify conky, please see:
# http://crunchbanglinux.org/forums/topic/59/my-conky-config/
#
# For help with conky, please see:
# http://crunchbanglinux.org/forums/topic/2047/conky-help/
#
# Enjoy! :)
##############################################
#  Settings
##############################################
background yes
    use_xft yes
    xftfont HandelGotD:size=8
    xftalpha 0.5
    update_interval 4.0
    total_run_times 0
    own_window yes
    own_window_type normal
    own_window_transparent yes
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    double_buffer yes
    minimum_size 200 5
    maximum_width 220
    draw_shades no
    draw_outline no
    draw_borders no
    draw_graph_borders yes
    default_color black
    default_shade_color red
    default_outline_color green
    alignment top_right
    gap_x 10
    gap_y 10
    no_buffers yes
    uppercase no
    cpu_avg_samples 2
    override_utf8_locale no
    temperature_unit Celsius

TEXT
${font sans-serif:bold:size=8}SYSTEM ${hr 2}
${font sans-serif:normal:size=8}$sysname $kernel $alignr $machine
Hostname:$alignr$nodename
Uptime:$alignr$uptime

${font sans-serif:bold:size=8}PROCESSORS ${hr 2}
${font sans-serif:normal:size=8}${execi 5000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq | cut -c 1-30}
${font sans-serif:normal:size=8}Temperature:$alignr $acpitemp ${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
CPU1: ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpu cpu1}% ${cpubar cpu1 8,60}
CPU2: ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpu cpu2}% ${cpubar cpu2 8,60}
${font sans-serif:normal:size=8}${cpugraph cpu0 33ffff 0000ff}

${font sans-serif:bold:size=8}GRAPHICS ${hr 2}
${font sans-serif:normal:size=8}Temperature:$alignr ${execi 3 nvidia-settings -query GPUCoreTemp | grep Attribute | grep -o '[0-5]\{2,3\}'}${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
Fan Speed: ${alignr}${execi 5 nvidia-settings -q [fan:0]/GPUCurrentFanSpeed -t}%
${font sans-serif:normal:size=8}Core,Vram:$alignr ${execi 1 nvidia-settings -query GPUCurrentClockFreqs | grep Attribute | cut -c50-59}Mhz
Mem Used: ${alignr}${execi 5 nvidia-settings -q [gpu:0]/UsedDedicatedGPUMemory -t} / ${exec nvidia-settings -q [gpu:0]/TotalDedicatedGPUMemory -t} MiB
GPU Clock: ${alignr}${nvidia gpufreq} MHz
Mem Clock: ${alignr}${nvidia memfreq} MHz

${font sans-serif:bold:size=8}TOP PROCESSES ${hr 2}
${font sans-serif:normal:size=8}${top name 1}${alignr}${top cpu 1} %
${top name 2}${alignr}${top cpu 2} %
$font${top name 3}${alignr}${top cpu 3} %
$font${top name 4}${alignr}${top cpu 4} %
$font${top name 5}${alignr}${top cpu 5} %

${font sans-serif:bold:size=8}MEMORY ${hr 2}
${font sans-serif:normal:size=8}RAM $alignc $mem / $memmax $alignr $memperc%
$membar
SWAP $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar}

${font sans-serif:bold:size=8}DISK ${hr 2}
${font sans-serif:normal:size=8}Temperature:$alignr ${execi 120 sudo hddtemp /dev/sda -n --unit=C}${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
${font sans-serif:normal:size=8}/ $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%
${fs_bar /}

${font sans-serif:bold:size=8}NETWORK ${hr 2}
${font sans-serif:normal:size=8}IP address: $alignr ${addr eth0}
ESSID: $alignr ${wireless_essid wlan0}
Connection quality: $alignr ${wireless_link_qual_perc wlan0}%
${downspeedgraph eth0 99cc33 006600}
Download:${downspeed eth0} kb/s $alignr total: ${totaldown eth0}
${upspeedgraph eth0  ffcc00 ff0000}
Upload:${upspeed eth0} kb/s $alignr total: ${totalup eth0}
```







Use the following commands to get psensor:


Spoiler





```
sudo apt-get install lm-sensors hddtemp
sudo dpkg-reconfigure hddtemp
```
Select "Yes" when asked if hddtemp should run at boot. Select the defaults for the other questions.

```
sudo sensors-detect
```
Say yes to all questions.

```
sudo service kmod start && sudo apt-get install psensor
```




-------------------------------------------------------
For those of you who don't have a desktop environment, or if you just want a quick way to view information, I know of two applications that will output information in the terminal. One being top, and the other being lm-sensors.


Spoiler



Top is a sort of process viewer, like the windows task manager. Just a lot less intuitive to use. I just use it to make sure WCG is using most of the cpu.

To use top type in:

```
top
```
To get out of it, press q.

You have to install lm-sensors first.

```
sudo apt-get install lm-sensors
```

After that you can check your temperatures any time with the following command:

```
sensors
```




To check you clockspeed:

```
lscpu | grep "MHz"
```

As some of this can be pretty technical, if it does not make much sense please tell me so I can try and make it more clear.


----------



## Nordic (Aug 29, 2015)

Since anything involving improving performance, is unconfirmed and experimental, I ask that you benchmark before and after each step. Please share your results. Lets find out what works and what does not together.


*Improving Performance*
I do not guarantee these tips will actually increase performance. I am still trying to figure that out for myself. Most of these tips could make your system less stable, but crunching stable. If it is a computer with any other purpose than crunching, I would recommend thinking long and hard before following any of the directions below. You can pick and choose what you want to try, and nothing mentioned relies on another.

*Don't use a Desktop*
If you have a dedicated cruncher that is running linux, why do you need a desktop? All it does is at a 1-5% cpu load for nothing. Every bit of cpu time is important to us crunchers, as that could be 1-5% more ppd. Especially if you easily accessing your linux cruncher with ssh, which I have a tutorial for, then you don't even need a desktop.


Spoiler



With these directions you will edit your grub config so that you boot without a desktop.

Make a backup by running the command below:

```
sudo cp -n /etc/default/grub /etc/default/grub.orig
```

If for some reason you want to revert to original settings, just run command below in terminal:

```
sudo mv /etc/default/grub.orig /etc/default/grub && sudo update-grub
```

Copy and paste below command into terminal and hit enter:

```
sudo nano /etc/default/grub
```

This opens Grub boot loader config file with text editor.

Do below changes:


Comment the line*GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”*, by adding *#* at the beginning, which will disable the Ubuntu purple screen.
Change *GRUB_CMDLINE_LINUX=”"* to*GRUB_CMDLINE_LINUX=”text”*, this makes Ubuntu boot directly into Text Mode.
Uncomment this line *#GRUB_TERMINAL=console*, by removing the *#* at the beginning, this makes Grub Menu into real black & white Text Mode (without background image)




After saved the changes, update grub via command and reboot.

```
sudo update-grub && sudo reboot
```

Source http://ubuntuhandbook.org/index.php/2014/01/boot-into-text-console-ubuntu-linux-14-04/



*Update your Kernel*
Linux Mint has an ancient Kernel of 3.13. This is like being on a windows 10 skinned version of Windows 95. The modern linux kernel is on 3.19. With it comes many performance improvements;  this has the biggest potential performance increase.


Spoiler



Before you try this, I recommend you benchmark with boinc before hand.

Check what kernel version you have with this command.

```
uname -a
```
It will output your kernal version. No need to write this down, just useful to see how old your kernel is.

The following commands will update your kernel to _3.19.3-k17-generic_ which is a slightly customized version of the latest kernel. A friend made this kernel for his own server purposes where he needs high cpu performance. After you update, you will reboot your computer.
*This kernel is for intel cpu's and X64 bit systems only!!*

```
wget http://multiclangaming.com/files/linux-headers-3.19.3-k17-generic_3.19.3-k17-generic-10.00.Custom_amd64.deb

wget http://multiclangaming.com/files/linux-image-3.19.3-k17-generic_3.19.3-k17-generic-10.00.Custom_amd64.deb

sudo dpkg -i *.deb

sudo reboot
```

After it reboots check if the kernel update worked by typing in a terminal:

```
uname -a
```
You should see 3.19.3-k17-generic.

Then update your system.

```
sudo apt-get update && sudo apt-get upgrade
```

If the update was a success, run the boinc benchmark again. Please post how much it increased.



*Apt-build*
I have heard before that using arch linux, or a similar distribution, can net you 10-15% more cpu performance in certain applications because everything is compiled for the native system. You can install apt-build on any debian or Ubuntu based system to also have the same advantages. You need to install apt-build. Its a comand line tool like apt-get, but instead of downloading and installing the binary package, apt-build downloads the source code of the package, compiles it and then installs it to your system.

You can do many things with apt-build, but the most useful are:apt-build update — updates repo list, (like apt-get update)
apt-build upgrade — updates operating system, (like apt-get upgrade)
apt-build install program — installs an application,(like apt-get install)
apt-build world — something for hard-core users, it recompiles whole system!
For example:Lets say you want to compile/install Gedit. Instead of apt-get install you dos udo apt-build install boinc-client
Apt-build makes use of deb-src entries contained in the /etc/apt/sources.list file so the compilation and installation processes are fully automatic (similar to emerge found in Gentoo). Apt-build downloads sources of the main application and its dependencies, compiles them, creates a deb package, and finally installs the package.

There are two ways we as crunchers can use apt-build. One, being you can use apt-build world and compile everything on the system. Unless you have a fresh install of ubuntu server, you are likely to corrupt your OS. If you are interested in that, as it has the most potential to give performance gains, skip below to that.
The other is manually building everything that boinc uses. I have provided a list of dependencies that boinc may use.

*Install and Configure Apt-build*


Spoiler



In the future use it in place of apt-get. It does take longer though.

```
sudo apt-get install apt-build
```
To configure apt-build type in the following, and answer all questions as follows.

```
sudo dpkg-reconfigure apt-build
```
Directory used by apt-build to download and build packages:

```
/var/cache/apt-build/build
```
Directory used to store packages built by apt-build:

```
/var/cache/apt-build/repository
```
Add apt-build repository to sources.list?

```
Yes
```

Optimization level:

```
Medium
```
Use Strong as your own risk. I tried strong on a fresh install of Ubuntu Mate and it corrupted the OS. On a fresh Ubuntu server install, I used strong and it worked. Personally, I want the Strongest possible so I used Ubuntu server. If you are coming from a mostly already configured linux, including a fresh install of an OS with a gui, I would not use Strong.

Options to add to gcc:

```
-pipe
```
This flag actually has no effect on the generated code, but it makes the compilation process faster. It tells the compiler to use pipes instead of temporary files during the different stages of compilation.

Options to add to make:
Depending on how many cores your processor has:
-jN (where N=NUM_OF_CORES_YOUR_PROCESSOR_HAS + 1)
For example,_ if you have Dual Core you set -j3_. For a Quad Core you set -j5 and so on. This flag specifies the number of jobs to run simultaneously (effectively utilizing different cores).

Architecture:

```
native
```
Most users with modern computers should select native, but if you have an older processor choose your specific architecture.

You can then install boinc in two parts. Using apt-build this will take hours because it is compiling for your exact system.

```
sudo apt-build install boinc-client
```

When that eventually finishes...

```
sudo apt-build boinc-manager
```

Most of the beneifits of building would not come from building boinc, but from building the packages that boinc uses. I found this list here. Not everything there might be needed on your system, but you can uninstall them pretty easily after.


Spoiler



User the command,

```
sudo apt-get build install "package"
```
Then replace "package" with what you need from this list.

build-essentials
ibnotify-dev
git
python
make
m4
pkg-config
dh-autoreconf
libssl-dev
python-mysqldb
php5-mysql
libapache2-mod-php5
php5-gd
freeglut3-dev
libsm-dev
libice-dev
libxmu-dev
libxi-dev
libx11-dev
libjpeg62-dev



After building everything, I recommend running the following.

```
sudo apt-build update && sudo apt-build upgrade
```




*Building the World*


Spoiler



apt build world
It will have you configure some options, but not all that you need. Use the command below to get them all.


Then finally, run the command:
Sudo apt-build update

You can do many things with apt-build, but the most useful are:apt-build update — updates repo list, (like apt-get update)
apt-build upgrade — updates operating system, (like apt-get upgrade)
apt-build install program — installs an application,(like apt-get install)
apt-build world — something for hard-core users, it recompiles whole system!
For example:Lets say you want to compile/install Gedit. Instead of apt-get install you dosudo apt-build install gedit
Apt-build makes use of deb-src entries contained in the /etc/apt/sources.list file so the compilation and installation processes are fully automatic (similar to emerge found in Gentoo). Apt-build downloads sources of the main application and its dependencies, compiles them, creates a deb package, and finally installs the package.


color:#3D3C40;background:white">The whole point of this so far is the do the command apt-build world.Next thing you need to do is remove/disable/uninstall any third party applications (it better to do in a fresh install of Ubuntu) and then do :sudo su
"Arial",sans-serif;color:#3D3C40">
color:#3D3C40;background:white">dpkg --get-selections | awk '{if ($2 == "install") print $1}'> /etc/apt/apt-build.list
exit
The above command will copy your full list of system packages to apt-build.list so that they can be compiled from source. Open that filesudo nano /etc/apt/apt-build.list
Then remove any GCC/G++ entry
After all this, you can finally update world. This will take over 24 hours even on a fast cpu.sudo apt-build world --yes --force-yes


Source http://polishlinux.org/linux/debian/apt-build-optimize-debian/
Source http://askubuntu.com/questions/29856/how-to-build-all-my-installed-package-from-sourceshttp://ubuntuforums.org/archive/index.php/t-1030272.html


----------



## T.R. (Aug 29, 2015)

james888 said:


> *Monitoring Temperature, Cpu Mhz, and More*
> Just to list off some other useful software, there is psensor and conky. Psensor will allow you to check the temperature on your cpu. Conky does that and a whole lot more. Conky will let you see nearly any stat about your system that you want. It will check your email, and tell you the weather if you want it too. I only mention psensor in case conky does not work for you.



Concise might also be useful.


----------



## Nordic (Aug 29, 2015)

T.R. said:


> Concise might also be useful.
> 
> View attachment 67655


That is a nice simple theme for conky. I made a very nice theme myself, but I can't seem to find my back up of it now.


----------



## blobster21 (Aug 29, 2015)

Yesterday i upgraded boinc-client / boinc-manager from the repository (7.4.2) to a more recent third party version (7.6.2):



> fab@se7en-squ4red:~$ sudo aptitude show boinc-client
> Packet : boinc-client
> Version : 7.6.2+dfsg-0~1343~ubuntu14.04.1
> Priority : optional
> ...



here's how i did :

1/ first adding the new repository to the source.list blob

```
sudo nano /etc/apt/sources.list
```

add the following lines:


```
deb http://ppa.launchpad.net/costamagnagianfranco/boinc/ubuntu trusty main
deb-src http://ppa.launchpad.net/costamagnagianfranco/boinc/ubuntu trusty main
```

2/obtain the signing key and install it so that apt/aptitude/synaptic can use it :


```
gpg --keyserver keyserver.ubuntu.com --recv-key 3C2A1859
gpg -a --export 3C2A1859 | sudo apt-key add -
```

3/ update the repository and upgrade !

```
sudo apt-get update && sudo apt-get upgrade
```

Note : While boinc-client is updated correctly, it's not necesserily the case for boinc-manager.
I had to uninstall boinc-manager and reinstall it in order to have both client and manager version to match each other. No need to say all jobs resumed immediately after upgrading 

hope this help.


----------



## Norton (Aug 29, 2015)

Subscribed!

Thanks for setting up a thread like this... definitely going to use it as a resource to setup my next Linux cruncher!


----------



## Nordic (Aug 29, 2015)

Nice to see the thread already coming along. I did not know how to do that @blobster21

I found the conky config that I made. I like it, but edit it as you please.

```
# conky configuration
#
# The list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
#
# For ideas about how to modify conky, please see:
# http://crunchbanglinux.org/forums/topic/59/my-conky-config/
#
# For help with conky, please see:
# http://crunchbanglinux.org/forums/topic/2047/conky-help/
#
# Enjoy! :)
##############################################
#  Settings
##############################################
background yes
    use_xft yes
    xftfont HandelGotD:size=8
    xftalpha 0.5
    update_interval 4.0
    total_run_times 0
    own_window yes
    own_window_type normal
    own_window_transparent yes
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
    double_buffer yes
    minimum_size 200 5
    maximum_width 220
    draw_shades no
    draw_outline no
    draw_borders no
    draw_graph_borders yes
    default_color black
    default_shade_color red
    default_outline_color green
    alignment top_right
    gap_x 10
    gap_y 10
    no_buffers yes
    uppercase no
    cpu_avg_samples 2
    override_utf8_locale no
    temperature_unit Celsius

TEXT
${font sans-serif:bold:size=8}SYSTEM ${hr 2}
${font sans-serif:normal:size=8}$sysname $kernel $alignr $machine
Hostname:$alignr$nodename
Uptime:$alignr$uptime

${font sans-serif:bold:size=8}PROCESSORS ${hr 2}
${font sans-serif:normal:size=8}${execi 5000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //'| uniq | cut -c 1-30}
${font sans-serif:normal:size=8}Temperature:$alignr $acpitemp ${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
CPU1: ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpu cpu1}% ${cpubar cpu1 8,60}
CPU2: ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo} MHz $alignr ${cpu cpu2}% ${cpubar cpu2 8,60}
${font sans-serif:normal:size=8}${cpugraph cpu0 33ffff 0000ff}

${font sans-serif:bold:size=8}GRAPHICS ${hr 2}
${font sans-serif:normal:size=8}Temperature:$alignr ${execi 3 nvidia-settings -query GPUCoreTemp | grep Attribute | grep -o '[0-5]\{2,3\}'}${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
Fan Speed: ${alignr}${execi 5 nvidia-settings -q [fan:0]/GPUCurrentFanSpeed -t}%
${font sans-serif:normal:size=8}Core,Vram:$alignr ${execi 1 nvidia-settings -query GPUCurrentClockFreqs | grep Attribute | cut -c50-59}Mhz
Mem Used: ${alignr}${execi 5 nvidia-settings -q [gpu:0]/UsedDedicatedGPUMemory -t} / ${exec nvidia-settings -q [gpu:0]/TotalDedicatedGPUMemory -t} MiB
GPU Clock: ${alignr}${nvidia gpufreq} MHz
Mem Clock: ${alignr}${nvidia memfreq} MHz

${font sans-serif:bold:size=8}TOP PROCESSES ${hr 2}
${font sans-serif:normal:size=8}${top name 1}${alignr}${top cpu 1} %
${top name 2}${alignr}${top cpu 2} %
$font${top name 3}${alignr}${top cpu 3} %
$font${top name 4}${alignr}${top cpu 4} %
$font${top name 5}${alignr}${top cpu 5} %

${font sans-serif:bold:size=8}MEMORY ${hr 2}
${font sans-serif:normal:size=8}RAM $alignc $mem / $memmax $alignr $memperc%
$membar
SWAP $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar}

${font sans-serif:bold:size=8}DISK ${hr 2}
${font sans-serif:normal:size=8}Temperature:$alignr ${execi 120 sudo hddtemp /dev/sda -n --unit=C}${iconv_start UTF-8 ISO_8859-1}°${iconv_stop}C
${font sans-serif:normal:size=8}/ $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%
${fs_bar /}

${font sans-serif:bold:size=8}NETWORK ${hr 2}
${font sans-serif:normal:size=8}IP address: $alignr ${addr eth0}
ESSID: $alignr ${wireless_essid wlan0}
Connection quality: $alignr ${wireless_link_qual_perc wlan0}%
${downspeedgraph eth0 99cc33 006600}
Download:${downspeed eth0} kb/s $alignr total: ${totaldown eth0}
${upspeedgraph eth0  ffcc00 ff0000}
Upload:${upspeed eth0} kb/s $alignr total: ${totalup eth0}
```


----------



## blobster21 (Aug 30, 2015)

thx james888, the setting to force results report immediately is really usefull.

I used to crunch for GPUGRID a couple of years ago with a Windows box / AMD HD4670, so i would love to see somedays a tutorial which describes how to add CUDA support to ubuntu / debian based distros.


----------



## Nordic (Aug 30, 2015)

blobster21 said:


> thx james888, the setting to force results report immediately is really usefull.
> 
> I used to crunch for GPUGRID a couple of years ago with a Windows box / AMD HD4670, so i would love to see somedays a tutorial which describes how to add CUDA support to ubuntu / debian based distros.


I don't have a need of cuda for boinc, but while following your upgrade instructions, apt recommended a few packages to install. I did not need them, but one in perticular might be of use to you. boinc-nvidia-cuda
While googling it, I did find this. https://wiki.debian.org/BOINC

I think this thread for folding@home should get you most of the way there. http://www.techpowerup.com/forums/threads/f-h-ubuntu-14-10-install-for-nvidia-gpus.208199/

With those too information sources you might be able to get it working.


----------



## blobster21 (Aug 30, 2015)

I should have googled it before asking, the installation is pretty straightforward according to this page 

Actually I couldn't make up my mind to upgrade to 14.10 and drop the LTS, luckily this guide is aimed at Ubuntu 14.04

Thanks for looking into this for me !


----------



## Nordic (Sep 2, 2015)

*Don't use a Desktop*
If you have a dedicated cruncher that is running linux, why do you need a desktop? All it does is at a 1-5% cpu load for nothing. Every bit of cpu time is important to us crunchers, as that could be 1-5% more ppd. Especially if you easily accessing your linux cruncher with ssh, which I have a tutorial for, then you don't even need a desktop.


Spoiler



With these directions you will edit your grub config so that you boot without a desktop.

Make a backup by running the command below:

```
sudo cp -n /etc/default/grub /etc/default/grub.orig
```

If for some reason you want to revert to original settings, just run command below in terminal:

```
sudo mv /etc/default/grub.orig /etc/default/grub && sudo update-grub
```

Copy and paste below command into terminal and hit enter:

```
sudo nano /etc/default/grub
```

This opens Grub boot loader config file with text editor.

Do below changes:


Comment the line*GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”*, by adding *#* at the beginning, which will disable the Ubuntu purple screen.
Change *GRUB_CMDLINE_LINUX=”"* to*GRUB_CMDLINE_LINUX=”text”*, this makes Ubuntu boot directly into Text Mode.
Uncomment this line *#GRUB_TERMINAL=console*, by removing the *#* at the beginning, this makes Grub Menu into real black & white Text Mode (without background image)




After saved the changes, update grub via command and reboot.

```
sudo update-grub && sudo reboot
```

Source http://ubuntuhandbook.org/index.php/2014/01/boot-into-text-console-ubuntu-linux-14-04/


----------



## T.R. (Sep 3, 2015)

I'm using cron to run the update command every hour. To set up a cron job, run the following commands:

```
cat << EOF | sudo tee /etc/cron.hourly/boinc && sudo chmod 0755 /etc/cron.hourly/boinc
#!/bin/sh -e
sudo -u boinc boinccmd --project http://www.worldcommunitygrid.org update
exit 0
EOF
```


----------



## Nordic (Sep 28, 2015)

Tried using these instructions today to try and get additional performance gains by compiling boinc from source. They do not immediately show any performance improvements in whetstone or dhrystone, but they did update me to boinc V7.7. This method can be used to keep boinc up to date on the latest client, even nightly builds. @T.R. might be interested in that.

In the process I found out which specific dependencies boinc needs. I am compiling those with apt-build which has the potential to improve performance. Will let you know how it goes.

I plan on adding all this to the OP, and updating the apt-build section.

These are the links that helped me do this.
https://boinc.berkeley.edu/trac/wiki/SourceCodeGit
https://boinc.berkeley.edu/trac/wiki/CompileClient
https://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix


----------



## stevorob (Dec 1, 2015)

I'm running the latest version of Ubuntu - 15.10

So, just trying to figure out how to ensure that BOINC starts up at launch with the OS

Tried googling, but ./mindblown - everything I read just confused me further.  As far as I can tell, the script to start it at boot up is there in etc/default/boinc-client, but the client doesn't autolaunch at reboot (it looks like the service runs though as the CPU loads up to 100% - I did manage to get psensor working on startup)


----------



## thebluebumblebee (Dec 1, 2015)

Once you install BOINC, it runs at startup.  Just launch the client to see.


----------



## stevorob (Dec 1, 2015)

thebluebumblebee said:


> Once you install BOINC, it runs at startup.  Just launch the client to see.



Is there a way to get the client to auto launch as well?


----------



## xvi (Dec 1, 2015)

stevorob said:


> Is there a way to get the client to auto launch as well?


Clicky. 

The command you'll want is "boinc-client"


----------



## Liquid Cool (Dec 1, 2015)

Subscribed +1.  Thanks for the effort here James888, you might actually get me back into crunching!  It's been years.....

Best,

Liquid Cool


----------



## Nordic (Dec 1, 2015)

It should start crunching at startup just as bluebumblebee said. Of course you have to log in to your WCG account first. Let us know if we can help you get boinc going if it is not.

If you just want to confirm if boinc is crunching there is a quick way to do that. Type "top" in the terminal. This will give you a live list of processes and the cpu usage they each have. WCG should be at the top.
If you would like more information or a graphical interface read the *Monitoring Temperature, Cpu Mhz, and More *section in the OP.



Liquid Cool said:


> Subscribed +1.  Thanks for the effort here James888, you might actually get me back into crunching!  It's been years.....


I really appreciate the sentiment.


----------



## ThE_MaD_ShOt (Dec 6, 2015)

Boinc does runs at startup as it does on windows. You just don't have the taskbar icon.  Also you can open the client per shortcut. ie. copy shortcut to desktop


----------



## thebluebumblebee (Feb 25, 2016)

I noticed on WCG that my Linux kernel is looking old.  So I'm interested in updating it, but how does this affect WCG?  Do I have to finish everything first and then update?  Will updating the kernel mid-WU abort the WU?


----------



## Nordic (Feb 25, 2016)

I updated it mid crunching. I did not notice anything. Linux just seemed to keep going. Linux can do most things without a restart, but updating a kernel is not one of them. WCG probably doesn't even notice a difference.

I really do recommend updating your kernal. Out of all the potential performance improvements I listed it was the only one that I saw real gains in.


----------



## manofthem (Feb 25, 2016)

Great guide @james888  


Been thinking about giving Mint another try since that's what I used before. If I did, would I need to update the kernel after installation? Also if not Mint, is there another option that would be easy for a noob like me? The pc only is used for BOINC and occasionally Steam.


----------



## [Ion] (Feb 25, 2016)

Ubuntu is pretty popular and is the base behind Linux Mint.


----------



## thebluebumblebee (Feb 25, 2016)

(DE=Desktop Environment)
I have liked Mint with Cinnamon because it is so like the Windows DE.  Ubuntu moves EVERYTHING to the top bar.
I'm also considering Lubuntu, which is a lightweight version of Ubuntu with the LXDE Desktop. I'm making an assumption that lightweight = faster.  I know that Lubuntu uses less RAM.
I'd also like to try PuppyLinux. (I would love to figure out a way to have a system crunch w/o a HDD, or maybe the HDD is only accessed once per day.  We have very stable electricity here, maybe one outage a year)
Article about lightweight Linux's: five best lightweight Linux distros of 2016


----------



## m&m's (Feb 25, 2016)

[Ion] said:


> Ubuntu is pretty popular and is the base behind Linux Mint.


Debian is also pretty popular and the base behind Ubuntu but it doesn't make it easy to use for someone that is used to Windows!

@manofthem because you're a novice with Linux I highly suggest you to use Linux Mint with either Cinnamon or MATE.
The way things are organized is similar to Windows 7.



thebluebumblebee said:


> I'm also considering Lubuntu, which is a lightweight version of Ubuntu with the LXDE Desktop. I'm making an assumption that lightweight = faster. I know that Lubuntu uses less RAM.



I'm not ready to say that a lightweight distribution will crunch better. Why? Because once the OS is loaded, even if it needs less RAM to run, it doesn't mean that the said OS will utilize the CPU more effectively or will have more CPU cycles available for crunching. Sometimes lightweight distributions lack essential files or config to effectively crunch.



thebluebumblebee said:


> (I would love to figure out a way to have a system crunch w/o a HDD, or maybe the HDD is only accessed once per day. We have very stable electricity here, maybe one outage a year


I did a guide on how to do this a couple of years ago, it should be somewhere on TPU haha


----------



## thebluebumblebee (Feb 25, 2016)

m&m's said:


> haha


%*!&# you!  Must. Go. Find. 

Aha! Getting BOINC setup without drives


----------



## manofthem (Feb 25, 2016)

m&m's said:


> @manofthem because you're a novice with Linux I highly suggest you to use Linux Mint with either Cinnamon or MATE.
> The way things are organized is similar to Windows 7.



Went ahead and started DLing Mint w/ Cinnamon, pretty sure that's what I used last time.  I used to have it on a USB but that's nowhere to be found.  Later I'll get it onto a USB drive and later tonight I'll go ahead and give the install a go, if the kids don't interfere too much


----------



## thebluebumblebee (Feb 25, 2016)

Okay, I'm embarrassed.  I did not look around enough.  In addition to @m&m's guide above, which I actually commented in at the time, @[Ion] has:
BOINC Live CD

Maybe I should try this on the Sempron I have sitting here.


----------



## [Ion] (Feb 26, 2016)

Aha, I'd forgotten about that one.  I ought to update it


----------



## Nordic (Nov 4, 2016)

I am setting up a new, or maybe old linux system depending on how you look at it. The primary purpose of this machine will be something besides crunching, but it will be bringing back 2 cores that I have had offline for sometime.

I am posting this just to express my own appreciation that I made this thread as a reference. I am falling back on it now. Even more thanks to those who contributed to this thread. It would not have been possible without them.

I wish I could edit the post a bit. I found at least 1 mistake so far. I don't know why that would be restricted.


----------



## xvi (Nov 4, 2016)

There's a new forum rule that you're not allowed to edit posts that are older than some amount of time (not sure what).


----------



## Arjai (Jun 14, 2017)

OK, so, I downloaded Linux Mint for my P4 cruncher and it is a "raw CD image" How do I install it from my hard drive? It has been a while since I played with Linux, about a year. The computer has Mint 12 on it now but, it is too old for BOINC to download jobs. I have to update the OS to get a new BOINC version.


----------



## Arjai (Jun 14, 2017)

OK, so, I have Mint 18 Sarah up and running. Got apt-build. Now though, when I, sudo apt-build install boinc-client, I get this:

"mYou must put some 'source' URIs in your sources.list
Missing source package name for source_by_source ()."

This is beyond newbie land. Please help. @Nordic (?)


----------



## thebluebumblebee (Jun 14, 2017)

Are you trying to follow the instructions above?


----------



## Arjai (Jun 14, 2017)

Yes. Gave up on it, for now. Just now apt-get install, and I am looking to get it running now! I will mess with apt-build some other time.


----------



## thebluebumblebee (Jun 14, 2017)

Just go to the "Software Manager", type BOINC in the search box and install "boinc"


----------



## Arjai (Jun 14, 2017)

I got it running BOINC 7.6.31 on kernal 4.4.0-21-generic #37! I am proud of myself!

Thanks everyone for letting me type out my thoughts on this, it helped me sleep on it and come up with what I needed!


----------



## Nordic (Jul 6, 2017)

Sorry for a late response. I have been lurking and have not logged in for some time. My instructions in this thread do not cover installing boinc. Oddly enough I did not think of users starting out.

@Arjai , for future reference you need to change which repositories your linux build is using. I believe you can do this via GUI within the update center of mint.

For a little more advanced solution, you could try adding a PPA via command line. This would even allow you to have a more up to date boinc version. This link should be enough to show you what you need.
https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/boinc


----------



## infrared (Jan 23, 2018)

I upgraded the kernel to 4.15 rc9 last night, check it out! Temp sensor reading for Ryzen


----------



## Aquinus (Jan 23, 2018)

infrared said:


> I upgraded the kernel to 4.15 rc9 last night, check it out! Temp sensor reading for Ryzen
> 
> View attachment 96265


Try running "sudo sensors-detect", answer all the questions (you can probably just hit enter taking the defaults for all of them,) with the exception of the one asking if you want to automatically add the kernel modules, you want yes for that (the default is no,) then run "sudo /etc/init.d/kmod start" for the changes to take effect, then run "sensors". You may find you'll have far more data than what you have now if you do. For example, this is the kind of thing I see on both the 3820 and 3930k:

```
jdoane@kratos:~$ sensors
nct6776-isa-0290
Adapter: ISA adapter
Vcore:          +0.86 V  (min =  +0.00 V, max =  +1.74 V)
in1:            +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:           +3.26 V  (min =  +2.98 V, max =  +3.63 V)
+3.3V:          +3.26 V  (min =  +2.98 V, max =  +3.63 V)
in4:            +1.01 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:            +2.04 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:            +0.71 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:           +3.42 V  (min =  +2.98 V, max =  +3.63 V)
Vbat:           +3.36 V  (min =  +2.70 V, max =  +3.63 V)
fan1:          1936 RPM  (min =    0 RPM)
fan2:           913 RPM  (min =    0 RPM)
fan3:          1012 RPM  (min =    0 RPM)
fan4:             0 RPM  (min =    0 RPM)
fan5:             0 RPM  (min =    0 RPM)
SYSTIN:         +39.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = thermistor
CPUTIN:         +32.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermal diode
AUXTIN:         +42.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
PECI Agent 0:   +42.0°C  (high = +80.0°C, hyst = +75.0°C)
                         (crit = +91.0°C)
PCH_CHIP_TEMP:   +0.0°C  
PCH_CPU_TEMP:    +0.0°C  
PCH_MCH_TEMP:    +0.0°C  
intrusion0:    ALARM
intrusion1:    ALARM
beep_enable:   disabled

amdgpu-pci-0100
Adapter: PCI adapter
temp1:        +66.0°C  (crit = +120.0°C, hyst = +90.0°C)

asus-isa-0000
Adapter: ISA adapter
cpu_fan:        0 RPM

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +43.0°C  (high = +81.0°C, crit = +91.0°C)
Core 0:        +39.0°C  (high = +81.0°C, crit = +91.0°C)
Core 1:        +40.0°C  (high = +81.0°C, crit = +91.0°C)
Core 2:        +42.0°C  (high = +81.0°C, crit = +91.0°C)
Core 3:        +41.0°C  (high = +81.0°C, crit = +91.0°C)
Core 4:        +43.0°C  (high = +81.0°C, crit = +91.0°C)
Core 5:        +42.0°C  (high = +81.0°C, crit = +91.0°C)
```


----------



## infrared (Jan 23, 2018)

Thanks aquinus. I tried the "sudo sensors-detect" last night, I didn't realize you had to do anything after though, so tried your suggestion of "sudo /etc/init.d/kmod start", it apparently started okay, but I still only have 1 cpu sensor (Tdie, I'm fairly sure) and a cpu fan speed that isn't reporting. Not to worry, some info is better than no info


----------



## blindfitter (Feb 12, 2018)

Having got a Ryzen with LinuxMint Mate, and ready to overclock it and having no sensors working as would like i came across this article.

*Monitor AMD Ryzen Temperatures In Linux with latest kernel modules*
https://linuxconfig.org/monitor-amd-ryzen-temperatures-in-linux-with-latest-kernel-modules

Before I start to go through this method is it viable? or a waste of time? knowing others are also without sensors working.


----------



## infrared (Feb 12, 2018)

Yep, it works and is pretty useful, if you update to 4.15 it should work straight away. It's easier to install than that guide makes it look 

I followed this guide: http://ubuntuhandbook.org/index.php/2018/01/install-linux-kernel-4-15-in-ubuntu-linux-mint/
And picked out the compatible headers/image files from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/

open terminal and run each line 1 at a time:


```
cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-4.15.0-041500-lowlatency_4.15.0-041500.201802011154_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500-lowlatency_4.15.0-041500.201802011154_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-4.15.0-041500_4.15.0-041500.201802011154_all.deb
sudo dpkg -i *.deb
```

After running through those and restarting, lm_sensors worked straight away for me, just type 'sensors' into terminal and you should now be able to see the tdie temperature, and if you do 'sudo sensors-detect' as @Aquinus suggested to me, it should give you a ton more readings, although I could only get the cpu temp on my crosshair vi hero system.


----------



## blindfitter (Feb 12, 2018)

@infrared Great, have upgraded kernel already 4.15.2-041502-generic (trust thats ok)or should i just be on 4.15as you are?

Will be looking into this tomorrow, thanks


----------



## infrared (Feb 12, 2018)

Ah perfect, yep that should work  np mate


----------



## Nordic (Feb 13, 2018)

This thread is great. I still comeback to this when I am setting up a crunching machine on linux.


----------



## blindfitter (Feb 13, 2018)

@infrared Looking good, and thanks - now try overclocking currently @ 3800k

Had a couple of errors, 
ERROR (dkms apport): kernel package linux-headers-4.15.0-041500-lowlatency is not supported
Error! Bad return status for module build on kernel: 4.15.0-041500-lowlatency (x86_64)
Consult /var/lib/dkms/ndiswrapper/1.60/build/make.log for more information.

presume, kernel 4.15.02 

have attached file of full install


----------



## Aquinus (Feb 13, 2018)

blindfitter said:


> already 4.15.2-041502-generic


Just don't use the low latency kernel. This kernel will sap power away from your crunching machine because it's spending 10x more time doing CPU scheduling (1,000 times per second instead of 100.) Mainline is sometimes a little weird because it's without any patches the distro might have added. In fact, I can't even boot my machine using a mainline kernel because of AMDGPU. Just an FYI.


----------



## blindfitter (Feb 13, 2018)

@Aquinus thanks for advice , but i am complete novice at Linux and crunching. 

i believe i'm running 4.15.2-041502-generic Kernel ?

i used @infrared coding to get the sensors working. to which they appear correct, cpu usage and temperature, 

cd /tmp/
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-image-*4.15.0-041500-lowlatency_4.15.0-041500.201802011154_amd64.deb*
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-*4.15.0-041500-lowlatency_4.15.0-041500.201802011154_amd64.deb*
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15/linux-headers-*4.15.0-041500_4.15.0-041500.201802011154_all.deb*
sudo dpkg -i *.deb

Should i have changed: the highlighted and underlined to be  equal to my current kernel 4.15.2-041502-generic_4.15.2-041502.?????????????_amd64.deb   

If its wrong, can you advise the way to correct it, thanks in advance.


----------



## infrared (Feb 13, 2018)

I think you're fine, you're already on an even newer kernel so if uname -r is still saying 4.15.2 then this one didn't install. Apologies on the confusion of the low latency kernel, for some reason the generic wouldn't install on my machine and the low latency worked fine so I wrongly assumed that was the correct one for ryzen.  Although it doesn't appear to have reduced my wcg output so the difference must be pretty minimal.

I need to install that psensor program, looks a lot more useful than getting a 1 time reading through the terminal.


----------



## blindfitter (Feb 13, 2018)

@infrared thanks for update, the 4.15.0 LL is installed and in the grub, but still using 4.15.2 generic

thanks again , back to over clocking..


----------



## phill (Feb 13, 2018)

I was just going to mention you David in this thread...  So glad you found it and I saw it!!   How's that Ryzen system doing for you now?? @blindfitter


----------



## PaulieG (Jul 7, 2021)

I'm considering moving a couple of my crunchers to one of the current "user friendly" distro iterations. Does WCG generally play nice with Linux? Any difference in overall workload? Any distro work particularly well with WCG?


----------



## mstenholm (Jul 7, 2021)

I only have experience with Ubuntu but I know that Mint has been used by others. Works like a charm. You save the Windows overhead and from time to time there are projects that really favours Linux. Go for it.


----------



## 80-watt Hamster (Jul 7, 2021)

PaulieG said:


> I'm considering moving a couple of my crunchers to one of the current "user friendly" distro iterations. Does WCG generally play nice with Linux? Any difference in overall workload? Any distro work particularly well with WCG?



My (thus far brief) experiment with CrunchingOnLinux also went well, and was also on Mint.  And also also on X58.  :-/  It's my only data point, though, so can't compare to other distros, or even Windows (yet).


----------



## thebluebumblebee (Jul 7, 2021)

But the benefit of running Linux is no where near where it was, and even our former captain, who was a promoter of using Linux, has switched almost everything to Windows.  Managing multiple Linux boxes is harder than it used to be because running Teamviewer is no longer free.


----------



## 80-watt Hamster (Jul 7, 2021)

thebluebumblebee said:


> Managing multiple Linux boxes is harder than it used to be because running Teamviewer is no longer free.



Aw, really?  Dang; time to bone up on SSH.


----------



## Nordic (Jul 8, 2021)

Last time I was running linux for WCG, I used Debain with apt-build for maximum performance. It really doesn't matter which variety of linux you run as long as you use the most up to date kernal. I put all my tricks for enhancing linux performance in the OP too.


----------

