GNU/Linux >> Linux Esercitazione >  >> Linux

Memoria massima utilizzabile da un sistema RHEL 6 a 32 bit

Beh, non mi aspetto una risposta concisa se non quella disponibile da qui.

Quello che capisco del sistema operativo a 32 bit è che l'indirizzo è espresso in 32 bit, quindi al massimo il sistema operativo potrebbe utilizzare 2 ^ 32 =4 GB di spazio di memoria

Il massimo che il processo può indirizzo è di 4 GB. Stai potenzialmente confondendo la memoria con spazio indirizzo . Un processo può avere più memoria dello spazio degli indirizzi. Questo è perfettamente legale e abbastanza comune nell'elaborazione video e in altre applicazioni ad alta intensità di memoria. A un processo possono essere allocati dozzine di GB di memoria e scambiarli dentro e fuori dallo spazio degli indirizzi a piacimento. Solo 2 GB possono andare nell'utente spazio degli indirizzi alla volta.

Se hai un garage per quattro auto a casa tua, puoi comunque possedere cinquanta auto. Non puoi tenerli tutti nel tuo garage. Devi avere uno spazio di archiviazione ausiliario da qualche altra parte per archiviarne almeno 46; quali auto tieni in garage e quali nel parcheggio in fondo alla strada dipende da te.

Questo significa che qualsiasi sistema operativo a 32 bit, sia esso Windows o unix, se la macchina ha RAM + file di paging sul disco rigido superiore a 4 GB, ad esempio 8 GB di RAM e 20 GB di file di paging, non ci sarà mai "memoria esaurita"? /P>

Assolutamente non significa questo. Un singolo processo potrebbe utilizzare più memoria di quella! Anche in questo caso la quantità di memoria utilizzata da un processo è quasi del tutto estranea alla quantità di spazio di indirizzi virtuali utilizzato da un processo. Proprio come il numero di auto che tieni in garage è completamente slegato dal numero di auto che possiedi.

Inoltre, due processi possono condividere pagine di memoria non private . Se venti processi caricano tutti la stessa DLL, i processi condividono tutti le pagine di memoria per quel codice. Non condividono lo spazio degli indirizzi di memoria virtuale , condividono la memoria .

Il mio punto, nel caso non sia chiaro, è che dovresti smettere di pensare alla memoria e allo spazio degli indirizzi come la stessa cosa, perché non sono affatto la stessa cosa.

se questa macchina con sistema operativo a 32 bit ha 2 GB di RAM e 2 GB di file di paging, l'aumento delle dimensioni del file di paging non aiuterà le prestazioni. È vero?

Hai cinquanta auto e un garage per quattro auto e un parcheggio per 100 auto in fondo alla strada. Aumenti le dimensioni del parcheggio a 200 posti. Qualcuno delle tue auto diventa più veloce perché ora hai 150 posti auto extra invece di 50 posti auto extra?


La risposta di Ramesh è completamente sbagliata. Un processo non può avere più memoria dello spazio degli indirizzi e semplicemente perché non può indirizzarlo !! Per utilizzare più di 4 GB il processo deve accedervi tramite l'indirizzo, come usare ponters in C/C++. Se presumibilmente puoi avere, ad esempio, 10 GB di RAM, come puoi dire al processo di accedere ai dati che si trovano a 5 GB, se i tuoi puntatori, a 32 bit, possono raggiungere al massimo 4 GB? È impossibile.Tutte le sue spiegazioni sono legate al sistema operativo. Può attivare al massimo alcuni blocchi di 4 GB, da un pool di, diciamo, 64 GB. Quindi ci sono sempre un massimo di 4 GB contemporaneamente e qualsiasi processo può accedere al massimo a 4 GB. Quindi, per un processo diverso, l'SO può attivare un blocco diverso di 4 GB dal pool, ma il processo sarà nuovamente limitato a 4 GB. In realtà, anche se un puntatore a 32 bit può indirizzare fino a 4 GB, il limite per un 32 -bit è di 3GB.


Linux
  1. Come verificare se un sistema Linux è a 32 o 64 bit

  2. Linux:il sistema si blocca quando esaurisce la memoria?

  3. Controlla il carico di sistema su Linux

  4. Come trovare il numero di socket CPU su un sistema CentOS/RHEL

  5. Numero massimo di thread per processo in Linux?

Come configurare l'indirizzo IP in CentOS 7/RHEL 7 e CentOS 6/RHEL 6

Come aggiornare da RHEL 7 a RHEL 8

Gestione dello swap nel moderno sistema Linux

Come controllare e riparare un file system in RHEL Linux

Come configurare l'indirizzo IP statico di rete su RHEL/CentOS 8/7

Come configurare l'indirizzo IP statico su un sistema Linux