martes, 17 de junio de 2008
Memoria de linux llena sin motivo
En un servidor linux con 1gb de ram es normal que se llene la memoria?
Por lo visto la ram si no tiene nada más importante en que ocuparse se encarga de guardarse en caché peticiones que se hagan al servidor con lo cual es posible que un servidor con muy pocas peticiones llene su memoria.
Cuando necesite memoria para otras cosas más importantes que cachear borrará caché sobrante.
Pego artículo de Ernesto Perez:
La memoria RAM del servidor se llena
Pues uno de los síntomas típicos de ram llena es que el servidor no logra abrir las sesiones completamente
Normalmente la memoria no se llena de repente, sino que se va notando que el servidor se va llenando.
Podemos monitorear la memoria RAM mediante el comando “free”, por ejemplo:
free -m
total used free shared buffers cached
Mem: 995 970 24 0 63 721
-/+ buffers/cache: 185 809
Swap: 1999 101 1898
¿Qué nos está indicando este comando? Para empezar, por mi parte no considero que tengo problemas con la memoria, veo que a simple vista está todo bien. Pero veamos los detalles:
El servidor tiene 1GB de Ram (reporta 995 pero está bien). De los cuales está usando 970 MB de memoria y tiene 24 libres (no es para asustarse, esperen!).
Estos 970 se pueden desglosar aproximadamente en:
* 63 MB buffers - son memorias de intercambio, que no son permanentes ni obligatorias tenerlas siempre
* 721MB cacheados - son páginas tomadas en algún momento del disco para ser servidas y que por su nivel de acceso el servidor ha decidido guardarlas en memoria para tener más rápido acceso, definitivamente es mejor acceder a la memoria RAM que no a disco; estas páginas pueden ser descartadas, desechadas en cualquier momento, no indican que la memoria está llena sino que el servidor como tiene memoria libre, ha ido viendo las páginas más solicitadas y las ha mantenido en memoria. Eso es buen síntoma.
* 185 de memoria core: Digámosle así, porque no tengo un nombre exacto. (eso de -/+ buffers/cache no me gusta). Esto indica cuál es la memoria que realmente el sistema está usando, tanto para el kernel como para los procesos que están corriendo e indica que es una memoria bloqueada que no puede ser descartada (como sí puede ser el buffer y el caché). Es decir, si esta memoria se acerta al total (995 en mi caso) preocupémonos!!! pues significa que el servidor en cualquier momento se queda sin memoria para asignarle a los procesos.
De swap, tengo 2 GIGAS (normalmente pongo la misma swap que ram, pero en este caso de prueba puse el doble). Y estamos usando 101 megas, no es nada de alarmarse sobre todo que es un momento bien popular para el servidor y hace que tenga algunos procesos que pueda swapear para tener un poco más de memoria core y para cache y demás.
En definitiva. No estamos usando más que 185 megas en RAM de 1GB que tenemos y 101 megas en swap de 2GB, no creemos que el problema sea por memoria llena.
Además hemos implementado un script que chequea cada un minuto la memoria y lo guarda a un archivo, así que cuando el servidor se cae y lo levantamos, verificamos el uso de memoria al momento de la caída, y definitivamente es super normal en ese momento.
Aquí el script:
#!/bin/bash
echo "`date "+%d-%H:%M.%S"`" >> /var/log/memoria .log
/usr/bin/top -bn1 >> /var/log/memoria .log
uptime >> /var/log/memoria .log
cat /proc/meminfo >> /var/log/memoria .log
ps fuaxww >> /var/log/memoria.log
netstat -na >> /var/log/memoria.log
Lo que hace es bien simple, lo ponemos en el crontab cada unos 2 minutos (o un minuto o 3, como deseen) y el scriptcito guardará en /var/log/memoria.log una serie de detalles como procesos corriendo, memoria en uso, tiempo al aire y procesos de red.
lunes, 16 de junio de 2008
Comprimir / descomprimir con Targz
tar cvzf nombre_archivo.tar.gz /carpeta_a_comprimir
Descomprimir:
tar zxf nombre_archivo.tar.gz
Descargar archivos de un servidor linux a otro
Antes de nada conectarse al servidor FTP y se accede a la consola donde con comandos unix ls, etc. se puede ver lo que hay.
Para copiar todos los archivos del servidor remoto a nuestro servidor ftp hay que picar:
get -A -R archivo
jueves, 12 de junio de 2008
Añadir alias en archivo de arranque
Lo editas y puedes añadir los alias de este modo: alias ls='ls --color -h'
(en este caso hacemos que ls lo muetre en color y en megas, kb, etc)
Scandisk o chkdsk para linux:
La unidad debe estar desmontada (umount) para que no hayan problemas.
e2fsck -p -c /dev/hda2
Revisa el disco duro y los sectores defectuosos los guarda en una lista para no grabar ni leer nada en esa zona.
miércoles, 11 de junio de 2008
Espacio libre en disco comandos linux
- df: Muestra el espacio libre del disco
- du -u fichero1 … ficheroN: Muestra el total que ocupan los ficheros
- du -s directorio: Muestra el espacio que ocupa el directorio
Si a estos comandos le añadimos además el parámetro “-h“, las cantidades saldrán en un formato de facil lectura (gigabyte, megabyte, etc.) teniendo en cuenta la cifra.
miércoles, 4 de junio de 2008
martes, 3 de junio de 2008
Conectar con servidor FTP desde linux
ncftp -u nombre_usuario -p contraseña host
Curiosamente no hay que especificar -h para decirle host.
Yo tengo un alias hecho para no tener que escribirlo cada vez.
Subir archivos de un servidor Linux a otro
Antes de nada conectarse al servidor FTP y se accede a la consola donde con comandos unix ls, etc. se puede ver lo que hay.
Para copiar todos los archivos del servidor local (en este caso de la carpeta home) a un servidor ftp hay que picar:
put -A -R /home /ruta_en_servidor_destino
También nos sirve
put -A -R /home
si ya estamos en el directorio dentro del ftp
domingo, 1 de junio de 2008
Riva FLV Encoder 2.0
Descarga gratuita.
Es el Riva FLV Encoder 2.0.
Enseguida se encuentra via google (en sofchonic se puede descargar gratis sin pagar los sms)
Como reproductor usa el FLV Player
FLV es el formato de Macromedia Flash
Por cierto: Si cuando comprimes un video a FLV te parece que el Riva Encoder se queda colgado tú ni caso, es que al comprimir no tiene ninguna barra de progreso ni nada; espera y acabará.