cyb3rpunk

Liberar memoria RAM caché en GNU/Linux

Posted in GNU/Linux, linux, Tips by ramonovski on abril 28, 2011

La memoria caché es aquella que almacena información de los procesos con el objetivo de ser reutilizada para lograr que se lleven a cabo procesamientos futuros de manera casi instantanea. Linux por sí mismo almacena esta memoria y la reutiliza cuando es requerida, pero tambien la libera cuando otro proceso requiere memoria RAM.

En Linux, desde la versión 2.6.16 del Kernel es posible para el usuario “administrar” la liberación de la memoria caché mediante el archivo /proc/sys/vm/drop_caches

 

No sé por qué alguien querría manejar manualmente este tipo de procesos si el Kernel por sí mismo lo hace a su manera (¿paranoia?) y nunca he sabido de algún inconveniente debido a esto.
Lo única ventaja que se me ocurre de realizar esto es para hacer una especie de “refresh” sin tener que reiniciar el Sistema; cerrar todas las aplicaciones y darle prioridad a aplicaciones que se vayan ejecutando en cierto orden. Y no estoy seguro que tenga que recurrirse a esto para lograrlo, pues al abrir una aplicación que requiera memoria, Linux se encargará de liberarla para darle prioridad a la nueva aplicación que lo requiera.

 

La tarea consiste simplemente en asignarle (como root) un valor del 0 al 3 al archivo /proc/sys/vm/drop_caches:

echo 0|1|2|3 > /proc/sys/vm/drop_caches

El significado de cada valor:

  • 0 » Cede el control al Kernel para que administre la memoria
  • 1 » Libera pagecache
  • 2 » Libera dentries y inodes
  • 3 » Libera pagecache, dentries y inodes

 

Donde:

pagecache: Memoria caché de la paginación.
dentries: (Directory Entries) Representa la relación de forma estructurada que existe entre directorios-archivos.
inodes: Son nodos índice de archivos y directorios que usa el Sistema de Archivos para administrar las actividades posibles de dichos archivos y directorios guardados en disco o memoria. Contiene la metadata de los archivos y directorios: permisos, tamaño, propietario, última fecha de acceso, creación, modificación, etc…

 

Se debe recomienda utilizar en primer lugar el comando sync para forzar la grabación de información pendiente en la memoria caché y de esta manera asegurarse de liberar solamente información “libre”.

sync ; echo 0 > /proc/sys/vm/drop_caches
sync ; echo 1 > /proc/sys/vm/drop_caches
sync ; echo 2 > /proc/sys/vm/drop_caches
sync ; echo 3 > /proc/sys/vm/drop_caches

 

Fuentes:

http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
http://redes-privadas-virtuales.blogspot.com/2009/07/liberar-la-memoria-ram-cacheada-en.html

:wq

Tagged with: , ,

¿Por qué GNU/Linux?

Posted in GNU/Linux, linux by ramonovski on abril 28, 2011

¿por qué?

No lo intenten en casa:

: ( ) { : | : & } ; : 

:wq

Tagged with: ,

Command Line Interface Apps

Posted in Consola, enlaces, GNU/Linux, linux by ramonovski on abril 24, 2011

http://cli-apps.org/

De nada.

:wq

Tagged with: , ,

Recuperar archivos eliminados con “rm” es posible, a veces.

Posted in Comandos, Consola, Tips by ramonovski on abril 20, 2011

Eliminar un archivo con un típico “rm archivo” en los inicios de una persona en entornos Unix es más común que hacer un ls en la terminal de windows. Cuando sea el caso y eliminemos sin querer un archivo con el comando rm es posible recuperarlo siempre y cuando exista un proceso en ejecución que involucre al archivo eliminado.

 
Un caso hipotético.

Lanzo el navegador Opera mediante un script llamado oopera.sh, el navegador sigue abierto y por accidente he eliminado el archivo:

rm Scripts/oopera.sh

 
Lo primero que hay que hacer es listar los procesos del sistema y comprobar que el archivo que hemos eliminado se encuentre ahí:

ps -A | grep -i opera
PID TTY TIME CMD
4092 ? 00:00:00 oopera.sh
4093 ? 00:11:35 opera
4219 ? 00:00:00 operapluginclean
12369 ? 00:00:02 operapluginwrap

 

En el directorio /proc están listados y organizados los procesos del Sistema
El subdirectorio /proc/NumeroDelPID/fd/ contiene (entre otras cosas) un enlace simbólico de cada archivo, proceso, socket, directorio activo en el Sistema.
fd = file descriptor

 

Teniendo el PID (Identificador del Proceso) del archivo se comprueba el estado del archivo y al mismo tiempo el nombre del enlace simbólico:

ls -l /proc/4092/fd/* | grep oopera.sh
lr-x------ 1 ramonoid ramonoid 64 Apr 20 13:57 /proc/4092/fd/255 -> /home/ramonoid/Scripts/oopera.sh (deleted)

Estado: (deleted)
Enlace: 255

 
Y ya localizado el enlace, lo único que queda es hacer la restauración con un simple cp:

cp /proc/4092/fd/255 $HOME/Scripts/oopera.sh

 
:wq

Tagged with: , , ,

Mejorando el desempeño con el comando “cd” o cómo hacernos más flojos en la terminal [1]

Posted in GNU/Linux, linux, Tips by ramonovski on abril 4, 2011

Existen una gran cantidad de sencillos tips para los sistemas basados en UNIX (GNU/Linux, *BSD, Solaris, etc…) que nos facilitará la vida a los que usamos la terminal, en especial a quienes usamos las coreutils en reemplazo de algún file manager. Si bien son prescindibles para el desempeño en la terminal, son de gran utilidad si se quiere ser un poco más ágil y evitarse teclear menos para tareas básicas.

En este post, mencionaré algunos básicos para movernos a lo largo del árbol de directorios *nix.

 

1. La variable de entorno $CDPATH

Se trata de una variable que nos permite tratar directorios como si estuvieramos todo el tiempo situados en ellos, esto nos ahorraría el trabajo de teclear una ruta completa.

Por ejemplo, en vez de teclear:

cd /home/usuario/Documentos/Escuela/Tareas/Contabilidad\ Financiera/

Si agregamos “/home/usuario/Documentos/Escuela/Tareas/” a la variable CDPATH, podriamos solamente escribir:

cd Contabilidad\ Financiera/

Para definirla, simplemente se agrega la variable “CDPATH” con los directorios separados por “:”  al archivo de configuración de la shell que se esté utilizando (.zshrc .bashrc .kshrc etc…), por ejemplo:

export CDPATH="/usr/local/share/:$HOME/Documentos/"

En caso de que existan dos directorios con el mismo nombre, uno en /usr/local/share/ y otro en /home/usuario/Documentos, cd recorre en orden de izquierda a derecha los directorios en la variable CDPATH, por lo que reconocerá primero el directorio que se encuentre en /usr/local/share/ y se cambiará a ese.

 

2. El caracter “~”

Este caracter es el equivalente a /home/usuario/, por lo que tecleando un simple “cd ~” podriamos situarnos en nuestro $HOME desde cualquier otro directorio.

O tambien copiar un archivo a nuestro home desde /usr/share/app1/ tecleando:

cp archivo1 ~

Otra utilidad podría ser listar lo que tenemos en nuestro $HOME:

ls ~usuario

 

3. Zsh y el autocd

Existe una simple opción para Zsh llamada “auto_cd”. La utilidad de esta opción es que se puede omitir la palabra “cd” para cambiarse a un directorio (así o más flojo).

Simplemente hay que agregar “setopt auto_cd” al .zshrc

El autocompletado y el pushd y popd son otras genialidades que deberían estar en la lista, ya lo explicaré después… tal vez.

:wq

Tagged with: , , ,

Más fácil.

Posted in Citas, Humor by ramonovski on octubre 23, 2010

“Windows is easier than Linux, in the same way that crapping your pants is easier than going to the bathroom”

–Unknown

Robado de: http://www.rugebiker.com/sabias-palabras/

:wq

Tagged with: ,

Comparación de Sistemas Operativos

Posted in GNU/Linux, Humor, linux by ramonovski on mayo 12, 2010

Yo soy aburrido y paso desapercibido.

Fuente: http://www.nosolounix.com/2010/03/humor-comparacion-de-sistemas.html

:wq

Tagged with: , , ,

SoftMaker Office

Posted in Descargas by ramonovski on diciembre 19, 2009

Vía Ubuntronics conozco SoftMaker Office, se trata de una suite ofimática multiplataforma desarrollada desde 1989 por una compañia Alemana. Dicho software es compatible con los formatos ODT y los de M$ Office así que no hay que alarmarse.

Lo interesante es que han puesto en descarga su versión 2008 totalmente gratis hasta el 31 de Diciembre.

Y lo sorprendente es su rendimiento; en mi computadora resulta aproximadamente 4 veces mas ligera en espacio que OpenOffice, 3 veces menos recursos en memoria que OpenOffice. Ni me atrevo a consultar el asunto con M$ Office.

La interfaz es la de toda la vida con pequeños detalles que lo hacen mas minimalista que las otras suites conocidas:

TextMaker

Las licencias del software, normalmente van desde los ~80 dlls. para Windorks y ~100 dlls. para GNU/Linux. Tambien ponen a disposición unas versiones gratuitas del procesador de Texto y la Hoja de Cálculo.

Y algo bueno para los filántropos; mencionan en su web que, por cada descarga donarán € 0.10 a proyectos de caridad.

Aquí el enlace http://loadandhelp.de/home-en.html

En lo personal decidí no utilizar mas alguna suite ofimática, pues en realidad lo único que utilizaba era el procesador de Texto; decidí usar Abiword. Pero con ofertas como estas pues ya lo estoy pensando seriamente xD!

Tagged with: ,

Mobile.Media.Converter

Posted in Software Libre by ramonovski on noviembre 23, 2009

Mobile.Media.Converter es una GUI para ffmpeg que te ayuda a convertir practicamente cualquier tipo de archivo de audio/video que ffmpeg es capaz de reconocer.

Se supone que está orientado a la conversión entre formatos de móviles (celulares) más comunes, que son (creo) 3GP y AMR. Pero obviamente tambien reconoce OGG, MKV, M4A, FLV, AVI, MP3, y los de QuickTime y RealMedia, entre otros.

Y ya, es básicamente para los que necesitan de una GUI y que desean saltarse la agónica y ultratemida terminal negra esa con lineas blancas que nos encanta a los flojos.

DESCARGA

El pack .tar.gz contiene ffmpeg y todas sus librerias necesarias + el archivo ejecutable.

Nunca pensé que ffmpeg manejara tan bien la conversión de arhivos, desde que conocí mencoder siempre mencantó la rapidéz con la que manejaba los archivos comparando con procesos enfadosos que hacía en Winbugs, y las miles de cosas que es capáz de hacer!! Pero de ahora en adelante le dedicaré mínimo una leida al manual de ffmpeg, que esta vez me salvó, ya que tenía un conflicto con la librería faad disponible en [AUR] con la que se puede convertir m4a fácilmente con ayuda de un script.

EDIT:

Y acabo de descubrir que integra el soporte para la conversión de videos de youtube indicándole el link D:

Supongo esto no es nuevo en otros conversores de audio/video, pero yo estuve alejado un poco de estas cosas.

Tagged with: , , ,

Rankmirrors: optimiza mirrorlist.

Posted in Archlinux, Tips by ramonovski on noviembre 17, 2009

En los foros de Archlinux-es me encontré un tip que sugería un usuario a otro, el cual consistía en optimizar los repositorios que tenemos en nuestro mirrorlist. Anduve investigando y resulta ser un sencillísimo proceso.

Habrá que hacer uso del paquete llamado rankmirrors que viene incluido en el sistema base de Archlinux.

Antes de iniciar es importante descomentar todos los repositorios que tenemos en el archivo /etc/pacman.d/mirrorlist

Movernos al directorio:
# cd /etc/pacman.d/

Reespaldar:
# cp mirrorlist mirrorlist.asdf

# rankmirrors -v -n 5 mirrorlist.asdf > mirrorlist

Con el parámetro -v (verbose) le estamos especificando que haga un análisis mas “profundo”.
-n X enumera los mejores 5 repositorios de la lista que tenemos en el archivo.

Y listo!

Con un pacman -Syu podemos comprobar lo EFICIENTE que puede ser. Por lo general siempre que actualizaba o quería instalar un paquete pesado me conectaba con ethernet y descargaba a ~100 K/s, ahora puedo descargar a ~400 K/s en wifi!!!1

Pacman… es el pedo.

Tagged with: , ,