Tuning Linux

De DocUnix.

Sommaire

Nombre de fichiers ouvert

Combien de fichiers sont ouverts : "sysctl -a|grep file-max".

A combien est configuré le nombre maximum de fichier ouvert : "cat /proc/sys/fs/file-max".

Pour corriger, il faut augmenter la valeur de fs.file-max dans /etc/sysctl.conf et faire un reboot.

Modification de parametre kernel

éditer le fichier /etc/sysctl.conf et modifier les valeurs.

Pour la prise en compte: sysctl -p

Les services au démarrage

Red-Hat ou à base de RPM

Pour obtenir la liste des services démarrés et leurs niveaux :

chkconfig --list

Pour ajouter ou supprimer un service au démarrage

chkconfig --level <liste des niveaux impactés> <service> <on|off>
ex : chkconfig --level 0123456 portmap off

Debian (debian, ubuntu, etc...)

Pour obtenir la liste des services démarrés et leurs niveaux :

ls /etc/rc2.d

Pour ajouter ou supprimer un service au démarrage

/usr/sbin/update-rc.d <service> <defaults|remove|sNN kNN>
ex : usr/sbin/update-rc.d ntp-server defaults

Gentoo

Pour obtenir la liste des services démarrés et leurs niveaux :

rc-update show

Pour ajouter ou supprimer un service au démarrage

rc-update add <service> <default|level>
ex : rc-update add ntp-server default

Rendre une clé USB bootable

Pour rendre une clé USB Bootable, voir le site de debian.

Fabriquer un fichier intrd, pour par exemple booter sur du lvm et/ou du raid, consulter le wiki de Gentoo.

Compter les trames réseaux oracle depuis le serveur

Pour cela, on va utiliser tcpdump en écoute sur le port 1521 et awk :

Nota, le serveur source s'appelant atpdsX, a modifier suivant les cas.

tcpdump -N -q port 1521 |  
awk '{ h=substr($1,1,5)
if (h!=hold) {
	  # changement de minute : on affiche
     print "=======================",hold
     for(s in nbp) if (nbp[s]!=0) { printf("%5d %7.1f ko IN/OUT %5d %7.1f ko : %s\n",nbpi[s],volpi[s]/1024,nbpo[s],volpo[s]/1024,s);
	            # raz des compteurs
                nbp[s]=0; volp[s]=0
                nbpi[s]=0; volpi[s]=0
                nbpo[s]=0; volpo[s]=0
     }
     hold=h
}
s1=$3 ; sub("\.[0-9]*$","",s1)		# machine source
s2=$5 ; sub("\.[0-9]*:$","",s2)	# machine destination
size=$7
if (s1=="atpdsX") { s=s2 ; nbpo[s]++; volpo[s]+=size }	# out : sort de atpdsX
else              { s=s1 ; nbpi[s]++; volpi[s]+=size }    # in  : entre dans atpdsX
nbp[s]++
volp[s]+=size
}'

Merci Jerome.

Chemin vers les librairies

Sur Solaris et Linux, utilisez la variable d'environnement LD_LIBRARY_PATH

Outils personnels