Centos-optimization

From Bashlinux
Revision as of 22:01, 30 March 2011 by Manpaz (talk)
Jump to: navigation, search

CentOS Optimizations

Disk

In order to speedup the disk management, some values are added to each `ext3` partition on the terminal. The reference site is located at [[1]]

 LABEL=/                 /                       ext3    defaults,noatime,data=writeback,commit=120        1 1
 tmpfs                   /dev/shm                tmpfs   defaults        0 0
 devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
 sysfs                   /sys                    sysfs   defaults        0 0
 proc                    /proc                   proc    defaults        0 0
 /customswap swap swap defaults 0 0
 


noatime

Don't write access time

data=writeback

The data order is not preserved when writes to disk. Just after set this value and before restart the terminal run the following command to avoid goes into read-only mode.

 tune2fs -o +journal_data_writeback /dev/hda1
 


commit=120

Set the time to sync data and metadata.

Solid State Disk

Usually the IDE SSD are slower that the SATA SSD, and some times could even be slower than the regular IDE. To speed up a bit, we can apply the changes mentioned above, but also scheduler can be changed in the following way:


 # echo deadline > /sys/block/sda/queue/scheduler
 # echo 1 > /sys/block/sda/queue/iosched/fifo_batch
 


All the other options for the scheduler can be displayed with the command

 # cat /sys/block/sda/queue/scheduler
 

but usually `noop` and `deadline` are the 2 that works well with SDD.

To make permanent this change, add the `elevator=deadline ` at the end of the kernel line in /boot/menu/grub.conf

System

In `/etc/sysctl.conf` set the vualue

 kernel.shmmax = 63554432
 

to increase Maximum shared segment.

Boot

Reduce boot time passing the known values to the kernel, the site that references. Optimizations can be found at [[[Media:centos-optimization$embedded_linux_optimizations.pdf|Embedded|Linux Optimizations]]]

 # grub.conf generated by anaconda
 #
 # Note that you do not have to rerun grub after making changes to this file
 # NOTICE:  You do not have a /boot partition.  This means that
 #          all kernel and initrd paths are relative to /, eg.
 #          root (hd0,0)
 #          kernel /boot/vmlinuz-version ro root=/dev/hda1
 #          initrd /boot/initrd-version.img
 #boot=/dev/hda
 default=0
 timeout=0
 splashimage=(hd0,0)/boot/grub/splash.xpm.gz
 hiddenmenu
 password --md5 $1$/omJBwhD$phlKUXHDZI6BMLkNSfNgD/
 title Bashlinux 
     root (hd0,0)
     kernel /boot/vmlinuz-2.6.18-53.el5 ro root=LABEL=/ rhgb vga=792 lpj=998235 reboot=soft quiet
     initrd /boot/initrd-2.6.18-53.el5.img
 


lpj

Loops per jiffy can be obtained from `/var/log/messages`

reboot=soft

When reboots, the firmware will be skipped.

quiet

Doesn't log all the boot messages to the `stdout`