Para um kernel de 32 bits, quais são os prós / contras do PAE versus o não PAE?

8

Estou usando o Ubuntu 12.04 de 32 bits. Meus núcleos são núcleos PAE. Eu sei que esses são os kernels que podemos usar para sistemas operacionais de 32 bits com 4 GB de RAM, para utilizar todos os 4 GB de RAM.

Meu sistema é um sistema de 32 bits. Então pensei que não precisava deles. Quais são as vantagens e desvantagens que terei se continuar executando os kernels do 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
rɑːdʒɑ
fonte
3
O PAE permite que um sistema de 32 bits use mais de 3,2 GB de RAM. Se você possui menos RAM ou possui um sistema de 64 bits, não precisa dele. Não conheço nenhum problema com isso.
Marty Fried
@EliahKagan Meu sistema de 32 bits e meu SO de 32 bits, mas meu Kernels PAE. Então, quais são as vantagens e desvantagens dos kernels do PAE se eu continuar com eles.
rɑːdʒɑ
1
O principal problema é o seguinte: quanta RAM seu sistema possui? A vantagem do PAE é que ele permite que, com seu sistema operacional de 32 bits, acesse mais de 3,2 GB de RAM. Essa é a razão da existência. Um sistema operacional de 64 bits já pode acessar muito mais memória, portanto, não precisa de ajuda.
Marty Fried
@EliahKagan: Obrigado, mas acho que talvez a resposta da izx ofusque qualquer coisa que eu possa escrever. :) Não respondi porque não sabia ao certo quais eram as desvantagens, se é que alguma, apenas que elas não eram grandes e nunca me incomodaram. Mas você pode estar certo de que uma resposta simples nesse caso pode ser a melhor.
Marty Fried

Respostas:

21

Resposta curta: vá 64 bits, se puder, o que é mais rápido que o PAE / não PAE de 32 bits; caso contrário, o PAE não pode ser 1-2% mais rápido que o PAE.


Em teoria, o PAE tem uma ligeira sobrecarga em relação aos não-PAE ...

  • A grande vantagem do PAE é permitir que um processador / sistema de 32 bits use mais de 4 GB de RAM
  • Mas isso requer um pouco mais de sobrecarga em relação ao não PAE, o que pode levar a um desempenho ligeiramente reduzido.
    • Aqui está uma explicação muito simples: no modo não PAE, uma CPU de 32 bits deve procurar (acessar) duas tabelas para acessar um endereço de memória física; no modo PAE, ele deve procurar três tabelas para fazer isso. A uma pesquisa adicional requer algum (muito pequeno) tempo extra, impondo assim uma sobrecarga adicional.
    • No final desta resposta, há duas imagens do artigo do Wikipedia PAE , ilustrando o ponto acima.
    • Bit NX / XD : O kernel PAE também suporta o bit No-eXecute / eXecute-Disable em processadores de 64 bits; isso pode ajudar a impedir alguns tipos de vírus / ataques maliciosos (estouros de buffer), mas na IMO isso não importa muito ao escolher kernels de 32 bits para o Ubuntu.

... mas na prática essa sobrecarga é insignificante (quase nada) ...

  • O Phoronix fez vários testes ao longo dos anos, mostrando que em sistemas com 4 GB ou menos , o kernel PAE pode ser no máximo aproximadamente 5% mais lento que o kernel não-PAE. Isso é apenas para um aplicativo de teste específico; a diferença usual é menor que 1%.

e 64 bits quase sempre superam AMBOS os kernels de 32 bits - vá em frente!

  • A única coisa que esses benchmarks da Phoronix acima dizem é que 64 bits é o rei - mesmo se você tiver menos de 4 GB de RAM (embora eu recomende 1 GB no mínimo)
  • Se você possui um processador de 64 bits - geralmente qualquer coisa após 2006, exceto a Intel Atoms - provavelmente está perdendo desempenho usando um kernel de 32 bits!

Comparando acessos de tabela de página que não são PAE x PAE:

  1. Não PAE

    insira a descrição da imagem aqui

  2. PAE

    insira a descrição da imagem aqui

ish
fonte
2
Então, se você tem menos de 4 GB de RAM, está dizendo que 64 bits é mais rápido que 32 bits? Por que é que? Além disso, você não menciona problemas de compatibilidade com software de 32 bits que ainda não foram convertidos ou apresentam erros na conversão - você acha que isso é um problema? Parece que sim, mas talvez isso seja coisa do passado.
Marty Fried
É claro que o comentário acima tem um ponto a pensar.
rɑːdʒɑ
@MartyFried Às vezes, os de 64 bits são mais rápidos que os de 32 bits, porque os compiladores fazem coisas melhores para os de 64 bits. Não me lembro dos detalhes, então talvez alguém que faça isso possa expandir isso, mas acho que pertence ao maior pedaço de memória contígua (até bem menos que 2GiB / 4Gib) que um programa pode alocar.
Eliah Kagan
2
As outras coisas a ter em mente são: (1) 64 bits pode ser mais rápido devido ao uso das instruções adicionadas no conjunto de instruções AMD64 / EM64T (enquanto que com 32 bits a maioria dos programas é compilada no menor denominador comum para, na melhor das hipóteses) , i686) e (2) 64 bits podem ser mais rápidos em máquinas com consideravelmente menos de 4 GiB de RAM, porque a memória na RAM e a memória trocada para o disco fazem parte do espaço de memória virtual de cada programa e esse espaço de memória virtual é endereçado. com ponteiros de 32 bits em um sistema de 32 bits e ponteiros de 64 bits em um sistema de 64 bits. O Pehraps izx pode falar sobre alguns desses problemas.
Eliah Kagan
2
@EliahKagan: você acha que este Q pode ser um bom candidato para um Q canônico: "Eu tenho um processador de 64 bits, mas menos de 4 GB de RAM. Qual núcleo dos três devo escolher?"
Ish
0

Eu tive sérios problemas ao usar o 12.04 de 32 bits com determinado software (sistema de arquivos zfs), revelando as limitações do vmalloc dos sistemas de 32 bits (tentei o ajuste dos parâmetros pae e non-pae e vmalloc e depmod, até a morte ... mas não sucesso). Esse é provavelmente um caso especial, mas poderia ser dado como exemplo. A limitação em algum lugar no interior dos núcleos de 32 bits é de 1 GB, mesmo que até 3,2 GB sejam utilizáveis.

Vá para 64 bits, se puder. Tenho certeza de que o Tou vcan ... Acho que, até o momento, ele (= núcleo de 64 bits da CPU) deve ser suportado por quase qualquer sistema em execução. A "atualização" posterior é de alguma forma desconfortável (significa reinstalar, mesmo que o dpkg e a cópia de / etc / e / home / possam ajudar a colocar a nova instalação em execução ..), mas ainda assim deve ser aceitável. Eu acho que não há problemas com os de 64 bits, mesmo que você seja forçado a usar o aplicativo de 32 bits antigo / de código fechado ou algumas bibliotecas por algum motivo.

coro
fonte