Come utilizzare completamente la RAM per aumentare le prestazioni complessive del sistema


18

Ho una macchina a basso profilo ma con molta RAM veloce, 4 Gb, che è davvero una quantità di memoria che probabilmente non userò mai, nemmeno la metà, dato che uso questa macchina solo per scrivere codice e navigare sul web.

L'HDD è davvero lento e quindi le prestazioni complessive sono pessime durante l'avvio, la memorizzazione nella cache o l'avvio di un nuovo programma, mi chiedo se Ubuntu possa fornire alcune impostazioni o utilità per risolvere questa situazione e lasciare che il mio sistema si affidi maggiormente all'utilizzo della RAM.


1
La RAM libera dovrebbe già essere utilizzata per la memorizzazione nella cache, che è il comportamento predefinito. Tuttavia, i dati devono ancora essere letti prima dall'hdd relativamente lento e l'unico modo per accelerarlo è utilizzare uno più veloce o un ssd. Scusa, nessuna magia oggi. PS: Ubuntu utilizza ureadaheadper profilare il processo di avvio e renderlo il più veloce possibile.
mikewhatever,

2
Inoltre, 4 GB non sono molto su una macchina moderna. I siti Web moderni sono pieni di javascript complessi e contengono molti dati, che possono far sì che il browser Web consumi memoria piuttosto rapidamente. Molte volte ho visto solo Firefox avvicinarsi a più GB di utilizzo della memoria residente.
dobey

@dobey nella mia esperienza javascript richiede più CPU che RAM.
user1717079,

Risposte:


11

Dovresti installare Preload che precaricherà il software che usi di più nella tua RAM (imparerà quale software precaricare da solo). È molto facile da configurare:

sudo apt-get install preload

Probabilmente non è necessario toccarlo, ma se vuoi puoi modificare le opzioni in /etc/preload.conf


ho anche notato l'esistenza di questa utility prelink, lo proverò, grazie.
user1717079,

2
@ user1717079 - Tieni presente che il precaricamento non accelera i tempi di avvio e che la maggior parte della memorizzazione nella cache deve essere già eseguita nella RAM.
Shauna,

1
Il precaricamento non accelera né i processi di avvio né quelli di memorizzazione nella cache, poiché dipendono fortemente dalla velocità dell'hdd.
mikewhatever,

mentre siamo in tema di prelink, il prelinking non dà alcun notevole miglioramento delle prestazioni, vedi smackerelofopinion.blogspot.co.uk/2009/06/…
Colin Ian King,

@ColinIanKing Sarò felice se solo potesse darmi un piccolo vantaggio in termini di prestazioni, i tempi di avvio non sono poi così male, il problema è che di solito è lento o ci vuole solo troppo tempo per caricare un nuovo programma.
Userò il

10

È possibile aggiungere la seguente riga a /etc/fstabper montare la /tmpdirectory nella RAM.

tmpfs / tmp tmpfs valori predefiniti, noatime, nodiratime, mode = 1777 0 0

Questo può essere fatto anche con altre directory. Ad esempio, durante la compilazione del codice, è possibile inserire la cartella in cui i file oggetto sono posizionati e collegati nella RAM.

Ma attenzione. I dati nelle cartelle montate in questo modo andranno persi in caso di arresto. Tienilo a mente.

Oltre alla mia conoscenza, ci sono molte altre risorse utili disponibili su questo argomento. Ad esempio questa discussione .


grazie ma un ramdisk è una cosa leggermente diversa, ma apprezzo il tuo suggerimento perché sarà utile in seguito. Il mio grosso problema in questo momento è come eseguire le mie applicazioni più velocemente, non come rendere più veloce il mio file system.
user1717079,

Sì, ma ho trovato degno di nota perché hai 4 GB di RAM e l'uso di cartelle RAM migliorerebbe la tua esperienza di navigazione se dici a firefox di usarli per cache e cose del genere.
cauon,

6

Cos'è la RAM?

La RAM, o memoria ad accesso casuale, è un tipo di sistema di archiviazione noto come memoria volatile . Cioè, contiene dati solo quando ha potere. In altre parole, eventuali modifiche apportate ad esso, se non lo si scrive su un dispositivo di archiviazione persistente, andranno perse in qualsiasi momento la RAM perde potenza.

Che cos'è un disco rigido?

I dischi rigidi o le unità disco (o unità disco fisso) sono un diverso tipo di sistema di archiviazione noto come archiviazione persistente . Ciò significa che i dati rimangono anche se privati ​​del potere. Anche CD, DVD, floppy disk e chiavette USB rientrano in questa categoria.

Cosa succede quando avvio, scrivo nella cache o avvio nuovi programmi?

Al fine di mantenere il sistema tra i riavvii, il sistema operativo deve scrivere ciò che ha nella RAM in un dispositivo di archiviazione persistente, di solito sul disco rigido principale. Al contrario, per ripristinare tali informazioni o avviare le applicazioni, è necessario caricare tali dati nella RAM dal dispositivo di archiviazione. Questo succede anche con i CD live, anche se tutto è in memoria, deve prima leggere tutto dal CD (o dall'unità USB). Succede anche con gli strumenti / idee che Cauon e Ugo hanno suggerito, perché in un punto o nell'altro, i dati devono essere letti o scritti su un disco per poter persistere tra gli stivali (in particolare Preload non migliorerà il tempo di avvio ).

Se si dispone di RAM veloce, il collo di bottiglia sarà da qualche parte nel processo di lettura / scrittura su disco, in genere nella velocità della connessione dati o nella velocità dell'unità.

Cosa posso fare per migliorare la velocità di queste operazioni?

Per migliorare la velocità di tutte e tre le operazioni menzionate, è necessario eseguire alcuni aggiornamenti hardware.

Ottieni una connessione più veloce. Le connessioni ATA parallele (PATA, il nastro grigio nelle macchine più vecchie) saranno più lente delle connessioni SATA (Serial ATA, il più recente, cavi più piccoli). Se puoi e non l'hai già fatto, passa a un'unità SATA. Se si va via drive USB (descritte di seguito), quindi assicurarsi che si sta utilizzando una porta USB 2.0 (o, meglio ancora, saggio velocità, 3.0) unità e la porta. I dispositivi e le porte USB diminuiranno alla velocità della cosa più lenta, quindi anche se hai una porta 3.0, se il dispositivo è 2.0, otterrai solo 2.0 velocità.

Ottieni un dispositivo di archiviazione più veloce. I dischi rigidi basati su piatto sono misurati in RPM e generalmente sono disponibili in tre velocità: 5400 rpm, 7200 rpm e 10k rpm. Se si dispone di un'unità da 5400 giri / min, eseguire l'aggiornamento a almeno 7200. Inoltre, le unità a stato solido (comprese le chiavette USB) sono più veloci delle unità basate su piatto. Se te lo puoi permettere, passa a un'unità a stato solido. In alternativa, puoi installare Ubuntu su un'unità USB ed eseguirlo da lì (tieni presente, tuttavia, che tale impostazione sarà limitata alla velocità della tua porta USB, quindi assicurati di utilizzare almeno una porta USB 2.0 e guidare).


1

prova zram (una volta chiamato compcache), è uno scambio compresso nella memoria!

il pacchetto per ubuntu 12.10 è zram-config, non è necessario l'avvio.

swapon -s mostrerà qualcosa del tipo:

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1023860 0       -1
/dev/sdc4                               partition       976892  0       -2
/dev/zram0                              partition       761876  0       5
/dev/zram1                              partition       761876  0       5
/dev/zram2                              partition       761876  0       5
/dev/zram3                              partition       761876  0       5

Ho 6 GB di RAM e 4 core CPU, quindi uno scambio per ogni core usando la metà in totale, della RAM! (per una buona ragione)

Leggi cosa dice ppl su compcache e zram!

bene, se non si utilizza zram, avviare o provare, IYKWYAD (se si sa cosa si sta facendo), scambiarli, per vedere quelli zram da riempire e migliorare le prestazioni generali.


a proposito, la mia configurazione attuale ha ciascuno dei miei zram swap (per ogni core) con 250 MB, quindi un totale di 1 GB per 4 core. Ho trovato che funziona meglio che consentire a zram di utilizzare metà (3 GB) della mia memoria totale, penso che sia perché cambierà meno sui dischi rigidi / ssd se permetto ad alcune applicazioni affamate di memoria di usare più memoria reale. Chiudo anche molte altre app affamate di memoria che non sono realmente necessarie per essere sempre in esecuzione.
Aquarius Power il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.