Optimizar Mac OS X Lion para disco SSD y 8GB de RAM

Crucial M4

Aunque sigo con el mismo MacBook que compré un 19 de Diciembre de 2009 la semana pasada adquirí un Crucial M4 de 128GB SATA3 con unas velocidades de escritura y lectura impresionantes y, según varios usuarios, muy fiable.

La configuración actual de mi MacBook es la siguiente:

Pueden parecer pocas mejoras o algo pequeñas, pero os garantizo que el equipo ha vuelto a nacer.

No voy a presentaros ningún benchmark o prueba de rendimiento con programas que escriben ficheros de 1GB ni cosas por el estilo porque no creo que sea conveniente para mi SSD ni necesario para demostrar la velocidad del mismo, os tendréis que fiar de mi palabra.

Optimizando OS X Lion para los 8GB de RAM

Si cuentas como yo con 8GB de ram (o más de 6) recomiendo dos mejoras que agilizan notablemente la velocidad del equipo tanto en arranque del mismo como de las aplicaciones.

Suprimiendo la paginación en el disco duro.
Bien sabemos que la transferencia de datos a un disco mecánico es donde se encuentra el "cuello de botella" en un equipo en cuanto a velocidad se refiere.

Mac OS X, como otros sistemas operativos, incluyen tecnologías para suplir la falta de hardware, en este caso de memoria RAM. En Windows lo llaman "Archivo de paginación" y en Unix/Linux "Memoria swap" o "área de intercambio".

Este archivo lo que hace es copiar información de tu memoria RAM en desuso al disco duro y rescatarla cuando la necesita. Como digo, ralentiza un poco el funcionamiento del sistema operativo por lo que comentaba antes. Estos problemas podrían desaparecer teniendo un SSD, que escribe más rápido que un disco mecánico, pero con mucha RAM es inútil que exista este archivo.

Si Apple continúa incluyendo este tipo de ficheros es, básicamente, para garantizar que sus nuevos sistemas operativos funcionarán (de una forma u otra) con equipos antiguos (o no tan modernos).

Para eliminar este fichero basta con escribir este comando en la terminal:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

El siguiente paso será reiniciar tu mac e ir a /var/vm/ para borrar su contenido (al completo). Volvemos a reiniciar y comprobamos que no existe nada en esa misma carpeta; si es así habrá funcionado.

Evitando que Spotlight destroce nuestro disco
Una de las cosas que la gente premia de OS X es Spotlight por lo cómodo que es para buscar ficheros, programas y cualquier cosa que se encuentre en nuestro mac.

Para mí, spotlight es una buena herramienta, pero su indexación deja que desear porque se pasa el día leyendo del disco duro cada cambio, actualización o creacción/supresión de ficheros y eso no es bueno para ningún disco sólido; mucho menos para un SSD.

Para desactivarlo:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Para volver a activarlo:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

Para quitar el icono de la barra de herramientas:
sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search
killall SystemUIServer

Optimizando OS X Lion para el SSD

Optimizar el sistema operativo para el funcionamiento del SSD consiste en evitar las lecturas/escrituras del mismo lo máximo posible, por lo que yo he realizado estas mejoras:

Apagar la hibernación:
En OS X cada vez que cerramos el portátil el sistema entra en una especie de hibernación, por lo que todo lo que tenemos en la RAM pasa al disco duro y, cuanta más RAM tengamos más escribirá al cerrar el portátil y más leerá al abrirlo.

Desactivando la hibernación (que no la suspensión del sistema) conseguimos que esto no sea así, ahorrándonos esas lecturas/escrituras absurdas.

Desactívalo usando:
sudo pmset -a hibernatemode 0

No recomiendo hacer esto si no se sabe exactamente cómo funciona

Noatime flag
OSX Lion escribe nuestros ficheros cada vez que los abrimos para marcar la "fecha de última apertura". Creando este fichero evitamos que escriba los ficheros al abrirlos:
[XML]
< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Label
com.nullvision.noatime
ProgramArguments

mount
-vuwo
noatime
/

RunAtLoad
[/XML]

llámalo como quieras (ejemplo com.nullvision.noatime.plist) y guárdalo en /Library/LaunchDaemons.

Ahora ejecuta este comando para que surta efecto:
sudo chown root:wheel /Library/LaunchDaemons/com.nullvision.noatime.plist

Reinicia tu máquina.

Puedes comprobar que funciona tecleando en la terminal:
mount | grep " / "

Si te sale el flag "noatime" al final de la sentencia como a mí significa que está operativo:
/dev/disk0s2 on / (hfs, local, journaled, noatime)

Mover directorio home al disco HDD (Sólo si tienes SSD + HDD)

Para evitar que el disco sólido se llene rápidamente (sólo tengo 128GB) he desviado las carpetas de los usuarios (/Users) al disco duro que instalé en el slot del lector de CD/dvd.

Hacemos la copia de la carpeta de usuarios (puede tardar varios minutos, dependiendo de la cantidad de datos):
sudo ditto /Users /Volumes/your_hdd_name/Users

Respaldamos la información:
sudo mv /Users /Users.bak

Enlaza la nueva carpeta de usuarios:
sudo ln -s /Volumes/your_hdd_name/Users /Users

Para asegurarte que realmente funciona ve a tu Panel de preferencias->Usuarios y grupos->Click derecho sobre un usuario->Opciones avanzadas->cambia el directorio de inicio de "/Users/user-name" a la nueva localización (ejemplo: "/Volumes/HDD/Users/user-name")

Usando RAM Disk para los archivos temporales
Una de las ventajas de tener mucha memoria RAM es que puedo destinar 512 megas a los archivos temporales del sistema operativo evitando así lecturas/escrituras innecesarias en el SSD.

Para eso guarda este fichero en tu directorio home y ejecuta en una terminal:
chmod 755 ~/MoveTempFoldersToRamDisk.sh
~/MoveTempFoldersToRamDisk.sh

Reiniciamos.

Este fichero crea dos "RAM Disks" al arrancar el equipo:

  1. 256MB para /private/tmp
  2. 64MB para /var/run

Una vez ejecutado el comando de arriba, puedes eliminar el fichero que hemos descargado anteriormente.

Si en un futuro quieres eliminar este truco introduce esto en tu terminal:
sudo rm -rf /System/Library/StartupItems/RamFS

Nuevamente es necesario reiniciar para que haga efecto.

Evitar que el SSD "se duerma"
Esto es tan fácil como ir al panel de preferencias y marcar la pestaña "Poner el disco en reposo" dentro de "Economizador".
economizador mac

Esto es todo lo que yo le hice.

El rendimiento es sorprendente:

En general estoy muy contento, veremos cuando pase el tiempo si no pongo una entrada aquí diciendo lo contrario.

No me hago responsable de posibles fallos en tu sistema si ejecutas las órdenes arriba mencionadas. Lo haces bajo tu propio riesgo y conocimientos.

11 comentarios en “Optimizar Mac OS X Lion para disco SSD y 8GB de RAM

  1. Buenas noches, ante todo quiero decirte gracias por el post, tengo una MacBook Pro 5,1 late 2008 con 8 gb de RAM y un disco SSD M4 Crucial de 256gb, llegue a tu post debido a un problema que tengo con el disco ssd, se relentiza mucho el sistema, lei por ahi que era problema de firmware con el controlador SATA y habia que hacerle un downgrade de la version 000f a la 0309, lo hice y mejoro un poco, no obstante seguia viendo las pelotas de playa a cada rato, debido a que tenemos casi la misma configuracion, me podes confirmar tu version de firmware y si tuviste algun problema de performance? Saludos y gracias

  2. Hola, efectivamente nuestra configuración es similar. Yo tengo el firmware 0309 en mi crucial (lo traía cuando lo compré y así sigue).

    Mi Macbook encendía en unos 17 segundos y con todas las mejoras de esta entrada apenas tarda 12 segundos.

    Según llegó el SSD instalé el sistema operativo y todo va correctamente, no he tenido problemas de ningún tipo.

    Saludos.

  3. Muy interesante y util las recomendaciones, pero se me plantean varias dudas.
    Cuando creo con el text editor el "noatime" e inserto luego el comando no me aparece como que se haya activado.
    Por otro lado no entiendo bien el comando para mover el archivo usuario de SSD a HDD, de hecho creo que lo hice mal porque se me empezo a llenar el disco usuario al punto de que solo me quedaban disponibles unos 500 megas (de 120 GB)
    Podrias explicarmelo mejor?
    Yo tengo mi disco "Macintosh SSD" como primario (se llama así) y el disco "Macintosh HD" como secundario.

  4. Hola Mariano,
    Para crearlo es mejor que utilices el comando nano:

    sudo nano /Library/LaunchDaemons/com.nullvision.noatime.plist

    Una vez abierto haces cmd+v (para pegar el texto) y luego ctrl+o para guardarlo y ctrl+x para salir del editor.

    Sobre el comando para cambiar el directorio del usuario (o de la carpeta Users en este caso) es bien fácil; lo que hacemos son 3 cosas:

    - Hacemos la copia de la carpeta de usuarios al disco duro; en tu caso :
    sudo ditto /Users /Volumes/'Macintosh HD'/Users

    - Respaldamos la información (para no perderla):
    sudo mv /Users /Users.bak

    - Enlazamos la nueva carpeta de usuarios dentro de Finder y demás:
    sudo ln -s /Volumes/'Macintosh HD'/Users /Users

    **Copia los comandos tal cual por el nombre de tu disco duro.**

    Espero que te sirva. Saludos.

  5. Me tira el siguiente error cuando aplico "sudo ditto"
    MacBook-Pro-de-Mariano:~ galumariano$ sudo ditto /Users /Volumes/Macintosh HD/Users
    ditto: /Users/galumariano/HD/Users/galumariano/HD’/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/Downloads/About Downloads.lpdf/Contents/Resources/ar.lproj/About Downloads.pd: File name too long
    ditto: can't get real path for source
    Que es lo que estoy haciendo mal?

    1. Hola Mariano,
      Como te decía en mi comentario anterior, al tener tu disco duro espacios en el nombre (Macintosh[espacio]HD) el comando debería ser:

      sudo ditto /Users /Volumes/'Macintosh HD'/Users

      Prueba con eso y me comentas.

      Saludos.

  6. Le cambie el nombre al disco por MacHD para que sea mas sencillo, pero igualmente me tira lo siguiente :
    MacBook-Pro-de-Mariano:~ galumariano$ sudo ditto /Users /Volumes/MacHD/Users
    ditto: /Volumes/MacHD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/HD/Users/galumariano/.Trash/gist931579-0b48c318e16c06b628fc3a65104c00b006fb36a1/.DS_Sto: File name too long

  7. Parece que tienes algún tipo de problema con tus ficheros. Comprueba que las carpetas están bien, porque el comando debería funcionar a la perfección.

  8. Solucionado por si alguien lo necesita, con el comando :

    sudo chmod 777 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search
    y despues
    killall SystemUIServer

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

DARÍO BALBONTÍN FERNÁNDEZ es el Responsable del tratamiento de los datos personales del usuario y le informa que estos datos serán tratados de conformidad con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril (GDPR) y la Ley Orgánica 3/2018 de 5 de diciembre (LOPDGDD), por lo que se le facilita la siguiente información del tratamiento: Fin del tratamiento: mantener una relación comercial y el envío de comunicaciones sobre nuestros productos y servicios. Criterios de conservación de los datos: se conservarán mientras exista un interés mutuo para mantener el fin del tratamiento y cuando ya no sea necesario para tal fin, se suprimirán con medidas de seguridad adecuadas para garantizar la seudonimización de los datos o la destrucción total de los mismos.Comunicación de los datos: No se comunicarán los datos a terceros, salvo obligación legal. Derechos que asisten al usuario: Derecho a retirar el consentimiento en cualquier momento. Derecho de acceso, rectificación, portabilidad y supresión de sus datos y a la limitación u oposición al su tratamiento. Derecho a presentar una reclamación ante la Autoridad de control (agpd.es) si considera que el tratamiento no se ajusta a la normativa vigente. Datos de contacto para ejercer sus derechos: contacto@dariobf.com.

¡Únete ya a BFLabs GRATIS! Estreno próximamente... Más información