Miércoles, 28 de Octubre de 2009
Para saber si un servidor con Linux tiene habilitado el Hyper-Threading sin necesidad de rebotar el servidor, podemos proceder de la siguiente maneara:
Revisamos el contenido de /proc/cpuinfo y nos fijanos en el valor de los campos siblings y cpu cores.
Si el valor de siblings es igual al de cpu cores entonces no tenemos Hyper-Threading habilitado. Si por el contrario, el valor de siblings es el doble que el de cpu cores entonces el Hyper-Threading está habilitado.
Ejemplos:
Hyper-Threading habilitado:
physical id : 1
siblings : 4
core id : 1
cpu cores : 2
Hyper-Threading NO habilitado:
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
DAVID FERNANDEZ ACIN Linux CPU, Hardware, Linux
Jueves, 22 de Octubre de 2009
El siguiente script permite borrar unas líneas de un fichero a partir de un patrón dado y borrando líneas adicionales antes y después del patrón buscado.
#!/bin/bash
# Script para borrar lineas de un fichero, a partir de un patron dado
# y borrando n lineas anteriores y posteriores a la buscada.
# Se pasan los siguientes parametros:
# 1 --> Fichero donde borrar las lineas
# 2 --> Patron que cumplira la linea central a borrar
# 3 --> Num lineas antes a borrar
# 4 --> Num lineas despues a borrar
# 1. Comprobación del numero de argumentos en la entrada
EXPECTED_ARGS=4
if [ $# -ne $EXPECTED_ARGS ]
then
echo "Usage: `basename $0` fichero patron numantes numdespues" > /dev/stderr
exit 1
fi
file=$1
patron=$2
antes=$3
despues=$4
# Buscamos la linea que contiene el patron a borrar
i=`grep -n "$patron" $file | cut -d":" -f 1`
if [[ -z $i ]]
then
echo "Patron $patron no encontrado en $file. No se borra nada"
exit 1
fi
# Seleccionamos las lineas anteriores y posteriores que deseemos borrar
inicio=`expr $i - $antes`
fin=`expr $i + $despues`
# Ahora borramos las lineas en cuestion
sed -i "$inicio,${fin}d" $file
DAVID FERNANDEZ ACIN Linux Linux