Feb 03

Introducción.

Es conocido que la arquitectura de 32 bits (i686) no puede direccionar 4GB o mas de memoria RAM (~2.8GB) aunque esta se encuentre físicamente instalada en la máquina.

Una solución para este problema consiste en utilizar un sistema operativo basado en una arquitectura de 64 bits (x64), la cual le permite direccionar una cantidad mayor de memoria.  El uso de esta arquitectura trae consigo algunos problemas que pueden ser incómodos en equipos de escritorio mas no en servidores.

  • El gasto de memoria RAM del sistema operativo es mayor.
  • Algunas aplicaciones de 32 bits no funcionan correctamente, por ejemplo el plugin de Flash.
  • Algunas aplicaciones y librerías que se distribuyen de manera binaria no se encuentran disponibles para 64 bits.

Finalmente he llegado a la conclusión que sólo debe utilizarse un sistema de 64 bits cuando realmente se amerite, en cualquier otro caso se deberá utilizar uno de 32 bits.

  • Servidores en producción.
  • Equipos que contengan máquinas virtuales sobre las cuales se ejecuten sistemas operativos de 64 bits.
  • Equipos con 4GB o mas de memoria RAM.

El último caso incluía también a las máquinas de escritorio que contaban con 4GB o mas de memoria RAM, es decir, era necesario instalarles un sistema operativo de 64 bits de lo contrario no podrían utilizar la totalidad de la memoria disponible.

Para evitar esto es posible utilizar un kernel con soporte para PAE (Physical Address Extension) sobre un sistema operativo de 32 bits.  Con esto se amplía el espacio de direcciones hasta 36 bits lo que permite direccionar hasta 64GB de memoria RAM.

A continuación se detallan los pasos necesarios para instalar el kernel con soporte para PAE en un computador de escritorio que utiliza GNU/Linux Ubuntu 10.10 de 32 bits como sistema operativo.

Procedimiento.

Inicialmente se cuenta con el kernel de 32 bits instalado por defecto.

$ uname -a

Linux jimezam-ultra 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux

Este kernel no permite direccionar la totalidad de la memoria RAM a pesar de que el equipo cuenta con 4GB instalados físicamente.

$ free -m

total       used       free     shared    buffers     cached
Mem:          2926 762       2163          0         50        404
-/+ buffers/cache:        307       2618
Swap:         4769          0       4769

Se procede con la instalación del kernel con soporte para PAE.

$ sudo aptitude install linux-generic-pae linux-headers-generic-pae linux-image-generic-pae

Es necesario reiniciar la máquina para que el nuevo kernel recién instalado sea tenido en cuenta.

$ sudo reboot

El nuevo kernel sigue siendo de 32 bits pero ahora incluye el soporte para PAE.

$ uname -a

Linux jimezam-ultra 2.6.35-25-generic-pae #44-Ubuntu SMP Fri Jan 21 19:01:46 UTC 2011 i686 GNU/Linux

Ahora es posible apreciar como la memoria direccionada es mayor en comparación con el kernel original.

$ free -m

total       used       free     shared    buffers     cached
Mem:          3922 898       3024          0         52        527
-/+ buffers/cache:        317       3604
Swap:         4769          0       4769

Enlaces.

Tagged with:



En February 3 de 2011, Jorge Iván Meza Martínez escribió acerca de Soporte a mas de 4GB de RAM en GNU/Linux Ubuntu de 32 bits.
Aug 11

Problema.

Al intentar enlazar un programa en C/C++ con las librerías de Condor mediante condor_compile se obtiene el siguiente mensaje de error.

$ condor_compile gcc test.c -o test

LINKING FOR CONDOR : /usr/bin/ld -L/opt/condor/current/lib -Bstatic –eh-frame-hdr -m elf_x86_64 –hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /opt/condor/current/lib/condor_rt0.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbeginT.o -L/opt/condor/current/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /tmp/ccawslhh.o /opt/condor/current/lib/libcondorzsyscall.a /opt/condor/current/lib/libcondor_z.a /opt/condor/current/lib/libcomp_libstdc++.a /opt/condor/current/lib/libcomp_libgcc.a /opt/condor/current/lib/libcomp_libgcc_eh.a –as-needed –no-as-needed -lcondor_c -lcondor_nss_files -lcondor_nss_dns -lcondor_resolv -lcondor_c -lcondor_nss_files -lcondor_nss_dns -lcondor_resolv -lcondor_c /opt/condor/current/lib/libcomp_libgcc.a /opt/condor/current/lib/libcomp_libgcc_eh.a –as-needed –no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crtn.o
/usr/bin/ld: skipping incompatible /opt/condor/current/lib/libcondor_c.a when searching for -lcondor_c
/usr/bin/ld: skipping incompatible /opt/condor/current/lib/libcondor_c.a when searching for -lcondor_c
/usr/bin/ld: cannot find -lcondor_c

collect2: ld returned 1 exit status

Explicación.

La arquitectura de la distribución de Condor no coincide con la de la máquina en la cual se instaló.

Solución.

Identifique la arquitectura de la máquina en la cual se está instalando Condor de la siguiente manera.

# uname -i

x86_64

Verifique que esta coincida con la arquitectura del paquete de Condor que se descargó del sitio web.

condor-*-linux-x86-rhel5-dynamic.tar.gz
condor-*-linux-x86_64-rhel5-dynamic.tar.gz

Reinstale Condor con la arquitectura correcta.

Tagged with:



En August 11 de 2010, Jorge Iván Meza Martínez escribió acerca de Instalación de Condor en una arquitectura incorrecta.
May 09

windows-7-logoAprovechando que el pasado martes 5 de Mayo de 2009 Microsoft libero el Release Candidate, me di a la tarea de descargar los 3GB que ocupa la version a 64 bit para instalarlo en un portatil Dell Vostro 1400 con procesador Intel Core Duo T7500 que soporta sistemas operativos a 32 y 64 bits.

La instalacion no presento ningun problema, al cabo de unos 30 minutos ya tenia el sistema instalado y la pantalla de inicio que muestra una imagen muy "light" con unas florecitas que no combinan con mi wallpaper. Despues de acceder como usuario, note la primera cosa rara, no emitio sonido alguno, por lo cual verifique que el sonido estuviera habilitado y utilizando unos audifonos pude comprobar que si sonaba, pero los parlantes del portatil no producian sonido, por tal motivo descargue los drivers para el Audio de la pagina de Dell y luego de reiniciar ya tenia sonido.

Inmediatamente despues me di a la tarea de instalar el Firefox que es mi navegador favorito y en el cual instalo un monto de extensiones para mejorar la navegacion, por tal motivo abri el IE y me diriji a la pagina de Firefox sin encontrar la version de 64 bits, busque en otras paginas pero encontre versiones muy viejas asi que finalmente descargue la version de 32 bits y la instale. Esto es posible gracias a que Windows puede ejecutar la mayoria de aplicaciones de 32 sobre el sistema operativo a 64 bits, esto debe ser gracias al WoW64 (Windows-on-Windows 64-bit) que crea un ambiente aparte para las aplicaciones, separando la instalacion de los programas en directorios diferentes : Program Files y Program Files (x86), incluso puede verse que procesos se estan ejecutando a 32 bits con el administrador de tareas.

Después de investigar lo de WoW64, segui con la instalacion de los demas programas : Java Development Kit a 64 bits, Virtual Box 2.2, Flash, Quicktime, para luego continuar con las mas exoticas como Processing y Mobile Processing, donde fue necesario instalar tambien la version a 32 bit del JDK ya que no existen versiones a 64 bits de estos programas. Eso si no me funciono el Java ME SDK 3.0 el kit de desarrollo para aplicaciones moviles en Java y de la mayoria de aplicaciones que instale, pocas tenian la version a 64 Bits.

Al parecer la arquitecura de 64 bits, todavia no es la mas usada en el mercado, por tal motivo muchos drivers y aplicaciones no muy comunes todavia no tienen soporte y no se comportan muy bien cuando se ejecutan sobre el sistema operativo a 64 bits. Me imagino que esto debe degradar el desempeño de las aplicaciones a 32bits y en general utilizar mas recursos del sistema que los que necesitaria utilizando el sistema a 32 Bits.

No se si es algo del Windows 7 RC, pero ahora mi maquina con solo entrar esta utilizando 690 MB de RAM, cuando con la version Beta estaba utilizando 520 MB, por tal motivo y para verificar esto ando descargando la version a 32 bits para comparar el consumo y el desempeño.

Enlaces :

Tagged with:



En May 9 de 2009, Marlon J. Manrique escribió acerca de Instalando Windows 7 a 64 Bits.
Mar 09

En un servidor de 64 bits que ando administrando, el cual tiene instalado Ubuntu Server 8.10 a 64 bits el siguiente error se comenzo a presentar :

console-kit-daemon[12355]: CRITICAL: cannot initialize libpolkit

Despues de alguna busqueda la solucion es :

  • Instalar el policykit
    sudo apt-get install policykit

Esto es un bug del Intrepid para la version servidor de 64 bits.

Tagged with:



En March 9 de 2009, Marlon J. Manrique escribió acerca de Ubuntu 8.10 Server : cannot initialize libpolkit.