Per un kernel a 32 bit, quali sono i pro / contro di PAE contro non PAE?


8

Sto usando Ubuntu 12.04 a 32 bit. I miei kernel sono kernel PAE. So che questi sono i kernel che possiamo usare per sistemi operativi a 32 bit con 4 GB di RAM, per utilizzare tutti i 4 GB di RAM.

Il mio sistema è un sistema a 32 bit. Quindi ho pensato di non averne bisogno. Quali sono i vantaggi e gli svantaggi che otterrò se continuo a eseguire kernel PAE?

raja@badfox:~$ uname -a
Linux badfox 3.2.0-24-generic-pae #39-Ubuntu SMP Mon May 21 18:54:21 UTC 2012 i686 i686 i386 GNU/Linux

3
PAE consente a un sistema a 32 bit di utilizzare più di 3,2 GB di RAM. Se hai meno RAM o se hai un sistema a 64 bit, non ne hai bisogno. Non ne conosco problemi.
Marty Fried,

@EliahKagan Il mio sistema a 32 bit e il mio sistema operativo a 32 bit ma i miei kernel PAE. Quindi quali sono i vantaggi e gli svantaggi dei kernel PAE se continuo a gestirli.
rɑːdʒɑ

1
Il problema principale è questo: quanta RAM ha il tuo sistema? Il vantaggio di PAE è che ti consente, con il tuo sistema operativo a 32 bit, di accedere a più di 3,2 GB di RAM. Questa è la ragione dell'esistenza. Un sistema operativo a 64 bit può già accedere a molta più memoria, quindi non necessita di alcun aiuto.
Marty Fried,

@EliahKagan: Grazie, ma penso che forse la risposta di izx eclisserà tutto ciò che potrei scrivere. :) Non ho dato una risposta perché non sapevo con certezza quali fossero gli svantaggi, se non altro, solo che non erano grandi, e non mi hanno mai dato fastidio. Ma potresti avere ragione nel dire che una risposta semplice in questo caso potrebbe essere la migliore.
Marty Fried,

Risposte:


21

Risposta breve: se possibile, vai a 64 bit, che è più veloce di PAE / non PAE a 32 bit; in caso contrario, il PAE potrebbe essere più veloce dell'1-2% rispetto al PAE.


In teoria PAE ha un leggero sovraccarico rispetto a non PAE ...

  • Il grande vantaggio di PAE è consentire a un processore / sistema a 32 bit di utilizzare più di 4 GB di RAM
  • Ma ciò richiede un lieve aumento delle spese generali rispetto al non PAE, il che può portare a prestazioni leggermente inferiori.
    • Ecco una spiegazione molto semplice: in modalità non PAE, una CPU a 32 bit deve cercare (accedere) a due tabelle per accedere a un indirizzo di memoria fisica; in modalità PAE, è necessario cercare tre tabelle per farlo. L'unica ricerca aggiuntiva richiede un po 'di tempo extra (molto piccolo), imponendo così un sovraccarico aggiuntivo.
    • Alla fine di questa risposta ci sono due immagini dell'articolo PAE di Wikipedia , che illustrano il punto sopra.
    • Bit NX / XD : il kernel PAE supporta anche il bit No-eXecute / eXecute-Disable su processori a 64 bit; questo può aiutare a prevenire alcuni tipi di attacchi di virus / malware (overflow del buffer), ma IMO questo non importa molto quando si scelgono i kernel a 32 bit per Ubuntu.

... ma in pratica questo sovraccarico è trascurabile (quasi nulla) ...

  • Nel corso degli anni Phoronix ha effettuato numerosi test che dimostrano che su sistemi con 4 GB o meno , il kernel PAE può essere al massimo circa il 5% più lento rispetto al kernel non PAE. Questo è solo per un'applicazione di test specifica; la solita differenza è inferiore all'1%.

e 64 bit batte quasi sempre ENTRAMBI i kernel a 32 bit - provaci!

  • L'unica cosa che ti dicono questi benchmark Phoronix sopra è che 64-bit è il re - anche se hai meno di 4 GB di RAM (anche se consiglierei almeno 1 GB)
  • Se hai un processore a 64 bit - generalmente dopo il 2006 tranne Intel Atoms - probabilmente stai perdendo prestazioni usando un kernel a 32 bit!

Confronto tra gli accessi alla tabella delle pagine non PAE e PAE:

  1. Non-PAE

    inserisci qui la descrizione dell'immagine

  2. PAE

    inserisci qui la descrizione dell'immagine


2
Quindi, se hai meno di 4 GB di RAM, stai dicendo che 64 bit è più veloce di 32 bit? Perché? Inoltre, non fai menzione dei problemi di compatibilità con il software a 32 bit che non è stato ancora convertito o presenta bug nella conversione: pensi che questo sia mai un problema? Sembra che lo fosse, ma forse questa è una cosa del passato.
Marty Fried,

Ovviamente i commenti sopra hanno un punto da pensare.
rɑːdʒɑ

@MartyFried A volte 64-bit è più veloce di 32-bit perché i compilatori fanno le cose meglio per 64-bit. Non ricordo i dettagli, quindi forse qualcuno che può espandersi su questo, ma penso che riguardi il più grande pezzo di memoria contigua (anche ben meno di 2GiB / 4Gib) che un programma può allocare.
Eliah Kagan,

2
Le altre cose da tenere a mente sono (1) 64-bit potrebbe essere più veloce a causa dell'uso delle istruzioni aggiunte nel set di istruzioni AMD64 / EM64T (mentre con 32-bit la maggior parte dei programmi viene compilata con il minimo comune denominatore per, nella migliore delle ipotesi , i686) e (2) a 64 bit potrebbero essere più veloci su macchine con considerevolmente meno di 4 GiB di RAM perché la memoria nella RAM e la memoria scambiata su disco fanno entrambe parte dello spazio di memoria virtuale di ciascun programma e lo spazio di memoria virtuale viene indirizzato con puntatori a 32 bit su un sistema a 32 bit e puntatori a 64 bit su un sistema a 64 bit. Pehraps izx può parlare di alcuni di questi problemi.
Eliah Kagan,

2
@EliahKagan: pensi che questo Q potrebbe essere un buon candidato per un Q canonico: "Ho un processore a 64 bit ma meno di 4 GB di RAM. Quale kernel dei tre dovrei scegliere?"
Ish,


0

Ho avuto seri problemi usando 32.04 a 32 bit con alcuni software (filesystem zfs), svelando le limitazioni di vmalloc dei sistemi a 32 bit (ho provato a morte sia pae che non-pae e vmalloc e depmod params tuning, ma no successo). Questo è probabilmente un caso speciale, ma potrebbe essere dato come esempio. La limitazione da qualche parte nei kernel a 32 bit è di 1 GB, anche se è utilizzabile fino a 3,2 GB.

Vai a 64 bit se puoi. Sono abbastanza sicuro che Tou vcan ... Immagino che ad oggi, esso (= core CPU a 64 bit) dovrebbe essere supportato da quasi tutti i sistemi in esecuzione. Successivamente "upgrade" è in qualche modo inquieto (significa in effetti reinstallare, anche se dpkg e copiare / etc / e / home / possono aiutare a far funzionare la nuova installazione ..) ma dovrebbe comunque essere accettabile. Penso che non ci siano problemi da temere con 64-bit, anche se per qualche motivo sei costretto a utilizzare un'applicazione a 32 bit vecchia / chiusa o alcune librerie.

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.