Aprovechando que el kernel 2.6.29 ya incluye el soporte para VRAM en el PS3, y habiendo compilado el kernel con la opciones del VRAM, vamos a ver cómo se activa este espacio ocioso de la ram de la tarjeta de video.
Lo primero que vamos a hacer es verificar que la imagen del kernel que compilamos está reconociendo la ram de video como un dispositivo de bloques para ser usado como swap o como espacio en disco:
ls -l /dev/ps3vrambrw-rw---- 1 root disk 253, 0 2009-03-29 10:24 /dev/ps3vram
El dispositivo existe y está marcado como tipo bloque (la letra ‘b’ que vemos al principio de la salida del comando ‘ls -l‘). Bien, ahora vamos a verificar el estado de la memoria ram con el Monitor del sistema. Desde Gnome vamos al menú Aplicaciones > Herramientas del Sistema > Monitor del Sistema:
Aquí podemos ver que tenemos asignados 478.5 MB de swap. Esta memoria la habilitamos previamente, pero es espacio en disco del PS3. Esta misma información podemos consultarla si hacemos:
swapon -s
Cuya salida debe ser algo como:
Filename Type Size Used Priority /dev/ps3da5 partition 489940 107558 -1
Activando la swap
Para activar la swap necesitaremos primero habilitar el dispositivo para el área de intercambio:
mkswap /dev/ps3vram
Luego necesitaremos editar el archivo /etc/fstab para agregar la definición de la swap que acabamos de habilitar, para eso podemos usar vi o cualquier otro editor de texto, y añadir las siguientes líneas (están en negritas las que nos interesan):
proc /proc proc defaults 0 0 /dev/ps3da1 / ext3 defaults 0 1 /dev/ps3vram none swap sw,-1 0 0 /dev/ps3da5 none swap sw,-2 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
Hay que destacar que los parámetros -1 y -2 establecen la prioridad de la swap a ser usada por el sistema. En el ejemplo de arriba el dispositivo /dev/ps3vram se utilizará primero que el /dev/ps3sda5. Este orden no es aleatorio, ya que se quiere aprovechar que la ram del video es 50% más rápida en lectura y 10% en escritura respecto al disco del PS3.
Ahora para cargar esta configuración primero apagaremos la swap que se esté usando:
swapoff -a
Esto puede tardar unos segundos mientras se vacía la swap usada. Como recomendación les sugiero que lo hagan sin ninguna aplicación abierta para que no se cuelgue la máquina. Ahora vamos a activar la configuración que creamos en el archivo /etc/fstab
swapon -a
Vamos a revisar ahora la información de la memoria swap con el Monitor del Sistema:
Nuevamente, podemos consultar esta información haciendo:
swapon -s
Lo cual reportará algo como:
Filename Type Size Used Priority /dev/ps3vram partition 250872 107772 -1 /dev/ps3da5 partition 489940 0 -2
Automatizando la activación de la Swap
Lo que acabamos de hacer funcionará una sola vez, ya que al reiniciar el PS3 en Linux habrá que repetir los pasos de la activación de la swap con los comandos mkswap y swapnon. Para evitar esto, podemos crear un servicio como hace la gente de YellowDog. Yo tomé algunas líneas, coloque algunas cosas más y quité otras, pero en esencia es lo que hicimos previamente. Veamos el corazón del script:
start) echo "Starting vram-swapon" /sbin/mkswap /dev/ps3vram /sbin/swapon -a ;; stop) echo "Stoping vram-swapon" /sbin/swapoff /dev/ps3vram ;;
El script lo llamé vram-swapon. Para utilizarlo solo hay que descargarlo y copiarlo en el directorio /etc/init.d, y darle la permisología para que sea ejecutable:
chmod 755 /etc/init/vram-swapon
Ahora lo configuramos para que sea iniciado al momento de encender el PS3 en Linux como un script de servicio del sistema.
update-rc.d vram-swapon defaults
Comprobando el funcionamiento
Después de abrir varias aplicaciones (más de 10), incluyendo OpenOffice.org, The Gimp, juegos, etc; esto fue lo que reportó el sistema con swapon -s:
Filename Type Size Used Priority /dev/ps3vram partition 250872 250852 -1 /dev/ps3da5 partition 489940 26088 -2
Es decir, está usando el dispositivo /dev/ps3vram primero, y luego de que no queda más espacio comienza a usar la segunda swap.
Como ya comenté, abrí varias aplicaciones para poder llenar completamente la primera swap y usar la swap que tenía previamente, y debo decir que yo particularmente si noto cierta mejoría en el desempeño de la máquina, siendo ahora el mayor limitante el la posibilidad de usar solo dos de las ocho unidades de procesamiento.
Referencias
- http://linux.die.net/man/2/swapon
- http://lists.debian.org/debian-user-german/2005/01/msg03944.html
- http://www.penguin-soft.com/penguin/man/8/update-rc.d.html


Planeta Linux
#1 by Luis Gallardo on 18/01/2010 - 5:40
Ok, seguro tienes un kernel mayor al 2.6.29 con la opción del VRAM activa? Para saber que versión de kernel tienes ejecuta:
Si no has compilado el kernel de la PS3, aquí te dejo las opciones http://lgallardo.com/2009/03/30/compilando-el-kernel-en-el-ps3/
#2 by chrisbdk on 18/01/2010 - 3:55
mira pongo los comandos para que inicie arrancando el sistema y me sale esto.
chrisbdk@ubuntu-chrisbdk:~$ sudo chmod 755 /etc/init.d/vram-swapon
chrisbdk@ubuntu-chrisbdk:~$ sudo update-rc.d vram-swapon defaults
System start/stop links for /etc/init.d/vram-swapon already exist.
chrisbdk@ubuntu-chrisbdk:~$
#3 by chrisbdk on 18/01/2010 - 2:55
no me sale error inicio el sistema y el swap no me aparece activo hasta que no lo hago manual
#4 by Luis Gallardo on 18/01/2010 - 2:06
chrisbdk, cuál es el error que te arroja??
#5 by chrisbdk on 18/01/2010 - 12:47
hola luis pues aqui sigo he podido copiar el scrip a la carpeta que comentas arriba pero no se ejecuta arrancando el sistema porque sera que me falla
#6 by Luis Gallardo on 08/01/2010 - 10:09
cp es una órden…
#7 by chrisbdk on 08/01/2010 - 8:40
ok ya entendi ṕero donde es cp, yo lo tengo guardado en la carpeta descargas
#8 by Luis Gallardo on 08/01/2010 - 8:02
Cópialo desde un terminal:
Recuerda dejar espeacios en blanco entre cada palabra. Ten en cuenta que vram-swapon es el nombre del script. Si lo guardaste con otro nombre entonces coloca el nombre que usaste.
#9 by chrisbdk on 08/01/2010 - 7:36
oye quiero copiar el scrip a etc/init.d y me dice
error al mover archivo: permiso denegado
#10 by Luis Gallardo on 08/01/2010 - 5:15
La contraseña es la que colocaste al momento de instalar tu Ubuntu…
#11 by chrisbdk on 08/01/2010 - 5:06
lo que pasa es que movi en grupos y ya no tengo privilegios como los pongo otra vez.
y pongo root pero me pide contraseña pongo la que puse al inicio y me dice que esa no es
#12 by Luis Gallardo on 08/01/2010 - 5:01
Si, las órdenes que están en el post es pata colocarlos en una consola. Todos debes ejecutarlos como root o si estas en Ubuntu (como es tu caso) puedes ejecutarlos colocando delante sudo. Cuando te pida la contraseña debes colocar la contraseña de tu cuenta, con la que entras al sistema.
#13 by chrisbdk on 08/01/2010 - 4:43
osea escribo esos comandos en una consola y solo copia?
Y como activo root, esque no tengo privilegios ya como administrador
#14 by Luis Gallardo on 08/01/2010 - 2:31
La permisología se la cambias con:
Si no te deja copiar, prueba colocando sudo antes de las órdenes, por ejemplo:
#15 by chrisbdk on 08/01/2010 - 12:54
sorry otravez yo aqui molestandote esque acabo de instalar ubuntu en mi ps3 y la verdad nunca lo habia usado.
Ya pude descargar el scrip pero como ago esto:
darle la permisología
y donde lo configuro para que sea iniciado
Bueno espero me puedas ayudar y perdon por molestarte tanto.
#16 by chrisbdk on 08/01/2010 - 12:35
ok gracias ya lo pude descargar pero ahora tengo un problema el archivo lo guarde en una memoria y no me deja copiarlo a ubuntu
#17 by Luis Gallardo on 08/01/2010 - 12:14
Tienes que hacer clic derecho sobre el enlace y decirle “guardar como”…
#18 by chrisbdk on 07/01/2010 - 11:47
de donde descargo el scrip no hay ninigun enlace
#19 by Luis Gallardo on 07/01/2010 - 8:34
chrisbdk, sirve para cualquier Linux que corra en una PS3 con kernel mayor al 2.6.29
#20 by chrisbdk on 07/01/2010 - 7:05
y esto sirve para ubuntu 9.10