31 votos

¿Desactivar temporalmente la RAM para imitar una máquina de menor especificación?

Tengo dos Macbooks de 2009. Uno tiene 4 gigas de RAM y ejecuta el sistema operativo 10.10; el otro tiene 2 gigas y ejecuta el sistema operativo 10.5.

Estoy considerando actualizar esta última máquina a Yosemite (10.10), pero me preocupa que funcione lentamente con tan poca RAM. Con el fin de tener una idea de lo que el rendimiento sería como, me pregunto si hay alguna manera de que pudiera "apagar" la mitad de la RAM en la máquina de mayor especificación. Si hiciera esto, podría tener una idea de cómo funcionaría Yosemite en la máquina de 2 gigas antes de hacer la actualización.

¿Existe alguna forma de desactivar temporalmente la memoria RAM sin quitar físicamente el chip?

0 votos

¿Por qué no es un requisito quitar el chip? ¿No se podría simplemente intercambiar la RAM física de los dos MacBooks?

4 votos

No tengo el destornillador adecuado a mano.

3 votos

El MacBook Pro de 2009 aceptará memoria RAM DDR3 a 1333 MHz (bajará la velocidad a 1066mhz). Se puede comprar por 30 dólares. Estas máquinas aceptarán hasta 8gb. Añade un SSD y sigue siendo una máquina muy decente.

26voto

OSdweeb Puntos 236

No es necesario quitar la RAM, crear un disco RAM o utilizar una VM. Basta con arrancar el sistema operativo utilizando el maxmem= valor de la bandera de arranque que se ha creado para este propósito y ha existido durante décadas.

Simplemente, abra el Terminal como sudoer e introduzca

sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

Después de introducir el cambio de contraseña

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
        <key>Kernel Flags</key>
        <string></string>
</dict>
</plist>

a

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
        <key>Kernel Flags</key>
        <string>maxmem=2048</string>
</dict>
</plist>

y escribir los cambios en el disco con ctrlo y dejar el nano con ctrlx

Reinicie su Mac para aplicar los cambios.

Para revertir los cambios elimina 'maxmem=2048' con nano de nuevo.

2 votos

Mi cerebro es un viejo cubo de basura... Ayer traté de encontrar esta solución fácil contra viento y marea - y sabía que existe - pero no la recordaba.

1 votos

Por cierto: es mejor que completes el registro, de lo contrario, si pierdes accidentalmente las cookies, ya no podrás acceder a tu cuenta.

0 votos

Aunque esta respuesta, tal y como se escribió el 4 de abril de '15, puede haber funcionado en OS X hasta OS X 10.10 Yosemite; sin embargo, ya no funciona en OS X 10.11 El Capitan y posteriores, a menos que uno desactive primero la Protección de Integridad del Sistema. Véase Cómo modificar la protección de la integridad del sistema en El Capitán y aunque sus instrucciones son para El Capitán, las mismas instrucciones básicas se aplican a las versiones más recientes de MacOS.

14voto

klanomath Puntos 19587

Sólo hay que crear un disco RAM con el tamaño de 2 GiB para reducir la RAM disponible para el sistema y las aplicaciones en ejecución.

Para obtener el número necesario de bloques para crear un disco de este tipo, multiplique (RAMdiskSize en MB)*2048. En tu ejemplo son 2048*2048=4194304.

A continuación, abre el Terminal y entra:

diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://4194304`

Recibirás un mensaje similar a este:

Started erase on disk9  
Unmounting disk  
Erasing  
Initialized /dev/rdisk9 as a 2 GB HFS Plus volume  
Mounting disk  
Finished erase on disk9 RAM Disk  

entonces usa dd y la ruta al volumen y llena el disco con datos aleatorios:

dd if=/dev/random of=/Volumes/RAM\ Disk/random.dat bs=1024k

El comando escribirá trozos de 1 MiB de datos aleatorios en el archivo random.dat del volumen RAM Disk hasta que se llene.

Esto debería reducir artificialmente su memoria RAM disponible en ~2 GiB hasta que desmonte el disco RAM o reinicie su Mac.

Después de algunas pruebas, esto no parece funcionar con la misma fiabilidad que en el sistema anterior. La razón es la nueva gestión de la memoria en los últimos sistemas (10.9 y superiores).
La memoria utilizada por el Disco RAM no debería ser intercambiada al disco, pero dependiendo de la calidad del archivo de datos aleatorios podría comprimirse un poco. Puede aumentar el tamaño del Disco RAM en un 5-10% hasta ~2,1 GB para obtener una imagen más realista.


Si quieres hacer esto en 10.5-10.8 el siguiente comando parece suficiente para obtener un resultado fiable (para obtener el Identificador de Disco comprueba la salida del diskutil... comando):

dd if=/dev/zero of=/dev/rdisk9 bs=1m

0 votos

Una solución genial. Si he entendido bien he requisado 2 gigas de ram para un disco ram. Esos 2 gigas de RAM están asignados, pero, como no estoy usando el disco ram para nada, en realidad no está siendo accedido por ningún procesado. Si tengo la memoria virtual activada, ¿no podría el sistema operativo escribir este bloque de memoria RAM no utilizado en mi archivo de intercambio, liberando de nuevo los 2 gigas?

0 votos

@dB' Tienes razón con tu primer comentario sobre la RAM no utilizada. De hecho es probable que se comprima mucho dejando mucha RAM libre. Así que he modificado mi respuesta para llenar el disco con datos aleatorios para evitar eso.

0 votos

Probablemente puedas volcar todos los cálculos del tamaño del disco y dejar que dd llene todo el disco: dd if=/dev/random of=/Volumes/RAM\ Disk/random.dat bs=1024k

8voto

Oskar Puntos 1242

Sí, utilice el memory_pressure herramienta para aplicar una presión real sobre la memoria del sistema.

No es una analogía perfecta con la eliminación del chip de memoria, ya que el ajuste de la memoria virtual todavía sabe que hay 4 GB o RAM y el argumento -p percent_free no asignará una cantidad constante de RAM, sino que mantendrá el sistema cerca de X porcentaje libre.

Debería permitirte ver muy rápidamente si tu carga de trabajo es susceptible de un sistema con 2 GB de ram incluso con la analogía imperfecta.

Si puedes quitar físicamente el chip, primero puedes simular las cosas y obtener un punto de referencia y luego hacer el cambio de hardware si necesitas verificar que es preciso.

0 votos

El principal problema que veo con la eliminación del chip físico es que el modo de doble canal se elimina también de la imagen. La primera opción de esta respuesta parece la mejor manera de hacerlo, ya que los verdaderos problemas de rendimiento provienen simplemente del aumento del uso.

2voto

Breck Puntos 148

Otra solución sería utilizar una máquina virtual para simular el Mac con menos memoria RAM. Instala VMWare Fusion, Parallels o VirtualBox (si eres aventurero) e instala OS X en ella. Entonces puedes manipular el número de núcleos, la cantidad de espacio en disco y (como pedías) la cantidad de RAM disponible para OS X. VirtualBox es gratuito, pero actualmente está limitado a 3Gb para OS X hasta que los desarrolladores permitan las operaciones del kernel de 64 bits. Los otros dos productos tienen pruebas de 30 y 14 días, respectivamente.

0 votos

-1, lo siento... esto es no una buena comparación. Ahora, tienes controladores de vídeo virtualizados, E/S virtualizadas y un pequeño impacto en el rendimiento de la CPU. Me encanta la virtualización, pero si todo lo que quieres hacer es ver el rendimiento del sistema con menos RAM disponible, esta no es una buena solución.

0 votos

@Josh La pequeña penalización en el rendimiento de la virtualización debería ser insignificante: las CPUs modernas tienen soporte de hardware para dicha tarea, por lo que el rendimiento será muy cercano al de bare-metal excepto en algunos casos marginales esotéricos. Además, no sólo puedes controlar directamente la cantidad de memoria disponible, sino que también puedes ajustar la frecuencia de la CPU, los núcleos disponibles, la memoria de vídeo disponible y otros parámetros. Para simular realmente máquinas antiguas, tener estas opciones disponibles puede resultar útil. El rendimiento de un sistema operativo es algo más que la memoria RAM disponible.

0 votos

Si te refieres a la virtualización de grado empresarial como VMWare ESXi, entonces tienes razón @phyrfox -- sobre Velocidad de la CPU . Hay un impacto en el rendimiento de los gráficos y el procesamiento de vídeo que se notará si se ejecuta Mac OS X. Estoy de acuerdo, la virtualización es la solución adecuada cuando se desea ajustar la frecuencia de la CPU, los núcleos disponibles, el hardware, etc. Pero esta pregunta era puramente sobre la limitación de la RAM disponible, y para ese caso de uso creo que la virtualización no es la solución correcta.

-1voto

Shojan Puntos 101

Para sacar la RAM, puedes:

Si tu macbook es de aluminio, quitas toda la parte inferior y la RAM debería estar justo en el centro.

Si es blanco, quita el pequeño compartimento de la esquina y accede al ariete por ahí.

Fuente: https://support.apple.com/en-ca/HT1651

1 votos

Fíjate que pide que se desactive sin quitar físicamente la ram.

0 votos

Todavía podría resolver su problema con esto es lo que quería decir...

2 votos

Pero la pregunta era: "¿Existe alguna forma de desactivar temporalmente la RAM sin quitar físicamente el chip?", así que esto no responde a la pregunta

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X