Disattivare temporaneamente la RAM per simulare una macchina con una specifica inferiore?

27

Ho due Macbook del 2009. Uno ha 4 GB di RAM e funziona con 10.10; uno ha 2 concerti e funziona con os 10.5.

Sto pensando di aggiornare quest'ultima macchina a Yosemite (10.10), ma sono preoccupato che funzionerà lentamente con così poca RAM. Per avere un'idea di come sarebbe la performance, mi chiedo se c'è un modo per "spegnere" metà della RAM nella macchina con specifiche più elevate. Se facessi questo, potrei avere un'idea di come Yosemite sarebbe stato eseguito sulla macchina da 2 gig prima di effettuare l'aggiornamento.

C'è un modo per disabilitare temporaneamente la RAM senza rimuovere fisicamente il chip?

    
posta dB' 03.04.2015 - 20:27
fonte

6 risposte

23

Non è necessario estrarre la RAM, creare un disco RAM o utilizzare una VM. Basta avviare il sistema operativo utilizzando il valore di flag di avvio maxmem= creato per questo scopo e utilizzato da decenni.

Apri semplicemente Terminal come sudoer e inserisci

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

Dopo aver inserito la modifica della password

<?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>

e scrivi le modifiche sul disco con ctrl o e chiudi nano con ctrl x

Riavvia il tuo Mac per applicare le modifiche.

Per annullare le modifiche, rimuovere "maxmem = 2048" con nano di nuovo.

    
risposta data 04.04.2015 - 09:01
fonte
14

Basta creare un disco RAM con la dimensione 2 GiB per ridurre la RAM disponibile per il sistema e le applicazioni in esecuzione.

Per ottenere il numero necessario di blocchi per creare tale disco, moltiplicare (RAMdiskSize in MB) * 2048. Nel tuo esempio è 2048 * 2048 = 4194304.

Quindi apri Terminale e inserisci:

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

Riceverai un messaggio simile a quello:

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  

quindi usa dd e il percorso del volume e riempi il disco con dati casuali:

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

Il comando scriverà 1 frammento di MiB di dati casuali nel file random.dat nel volume del disco RAM fino a quando non sarà pieno.

Questo dovrebbe ridurre artificialmente la tua RAM disponibile di ~ 2 GiB fino a smontare il disco RAM o riavviare il Mac.

Dopo alcuni test questo non sembra funzionare in modo affidabile come nel vecchio sistema. Il motivo è la nuova gestione della memoria nei sistemi più recenti (da 10.9 in su).
La memoria utilizzata dal disco RAM non deve essere scambiata su disco ma, a seconda della qualità del file di dati casuali, potrebbe essere compressa un po '. È possibile aumentare la dimensione del disco RAM del 5-10% a ~ 2,1 GB per ottenere un'immagine più realistica.

Se vuoi farlo in 10.5-10.8 il seguente comando sembra sufficiente per ottenere un risultato affidabile (per ottenere che Disk Identifier controlli l'output del comando diskutil... ):

dd if=/dev/zero of=/dev/rdisk9 bs=1m
    
risposta data 03.04.2015 - 20:53
fonte
8

Sì: usa lo strumento memory_pressure per applicare la pressione della memoria reale al sistema.

Non è un'analogia perfetta per rimuovere il chip di memoria poiché l'ottimizzazione della memoria virtuale sa ancora che ci sono 4 GB o RAM e l'argomento -p percent_free non assegnerà una quantità costante di RAM, ma manterrà il sistema vicino alla percentuale X gratuito.

Dovrebbe consentire di vedere molto rapidamente se il tuo carico di lavoro è suscettibile a un sistema con RAM da 2 GB anche con l'analogia imperfetta.

Se riesci a rimuovere fisicamente il chip, puoi prima simulare le cose e ottenere un benchmark, quindi modificare l'hardware se devi verificarne la precisione.

    
risposta data 03.04.2015 - 20:31
fonte
2

Un'altra soluzione sarebbe quella di utilizzare una macchina virtuale per simulare il Mac con RAM inferiore. Installa VMWare Fusion, Parallels o VirtualBox (se sei avventuroso) e installa OS X in questo. Quindi puoi manipolare il numero di core, la quantità di spazio su disco e (come stavi richiedendo) quantità di RAM disponibile per OS X. VirtualBox è gratuito, ma attualmente limitato a 3Gb per OS X fino a quando gli sviluppatori non consentono operazioni con kernel a 64 bit . Gli altri due prodotti hanno rispettivamente una prova di 30 giorni e di 14 giorni.

    
risposta data 04.04.2015 - 02:26
fonte
2

Aggiunta alla risposta di OSdweeb:

Poiché El Capitan modifica il file com.apple.Boot.plist è possibile solo disabilitando il System Integrity Protocol (SIP) (vedi questo filo ).

È tuttavia possibile impostare i flag di avvio con il seguente comando:

sudo nvram boot-args="maxmem=2048"

    
risposta data 05.11.2018 - 18:04
fonte
-1

Per TAKE OUT RAM, puoi:

Se il tuo macbook è di alluminio, prendi tutto il fondo e la RAM dovrebbe essere proprio nel mezzo.

Se è bianco, prendi il piccolo compartimento nell'angolo e accedi alla ram in questo modo.

Fonte: link

    
risposta data 04.04.2015 - 02:51
fonte

Leggi altre domande sui tag