Ir para conteúdo



Foto

Criando SWAP manualmente em Custom ROMs como a CyanogenMOD.


  • Este tópico está fechado Este tópico está fechado
1 resposta neste tópico

#1

yThe HateDx

    Membro Júnior

  • Membros
  • PipPipPip
  • 111 posts

Postado 02 Fev 2013 - 19:41

http://www.plusgsm.com.br/attachments/screenshot_2013-01-12-19-39-18-png.36302/

É de um Xperia X10 Mini , movido pelo Directory Bind o /data/app, /data/data e /data/dalvik-cache , movi para usar o espaço liberado na partição /data para um swap de 128MB na memória interna, mais rápida que o cartão microSD .

A partição estendida não foi nem montada pelo Link2SD , mas ela é EXT4 de 1 GB, nela já cheguei a instalar mais de 300 aplicativos, algo em torno de 740 MB, só o /data/dalvik-cache movido tinha mais que a minha ROM inteira.

A partição de 6GB não tem nenhum aplicativo, só tem fotos, vídeos, músicas, etc.

Ao contrário do Link2SD , que sempre deixa parte do APK para trás, sabendo usar o Directory Bind o limite se torna somente o tamanho do seu cartão microSD , e a velocidade de acesso.

Eu não pretendo colocar mais de 4 GB em um aparelho Android do porte do Xperia X10 mini , porém seria interessante um Xperia Play com 32GB de jogos movidos dessa forma para o cartão, sem ocuparem quase nada no aparelho .

Otimo , ja tirei o link2sd e fiz o directory bind funcionar , mas
seiken , como faz pra criar uma particao "Swap" na memoria interna do celular?
eu to querendo fazer isso no meu tab, sera q tem como ? de uns 200 ou 300 mb , obs.a memoria dele eh de 8gb e tem cartao de memoria 16gb.
:edit
E com qual app eu posso ver se funcionou / gerenciar essa memoria swap ? grato
Ah so mais uma pergunta U_U
Esse swap aumenta o uso da bateria ?
"Este é o ano em que a esperança te abandona
Os sujeitos do teste controlam o experimento
E os bastardos que você conhece são os heróis que você odeia
Mas a coesão é possível se nós tentarmos
Não há razão
Não há lições
Nenhum tempo como o presente
Me diga agora: o que você tem a perder?
O que você tem a perder, exceto sua alma?
Quem está conosco?"
(Slipknot)

Imagem Postada
User Bar Simples ZemDroid


#2

seiken

    Membro Platinum PluS

  • Membro Prime
  • PipPipPipPipPipPipPip
  • 24.925 posts

Postado 03 Fev 2013 - 02:48

Primeiro precisa ter root, segundo depende da ROM que esteja usando, nem todo kernel suporta swap .

O swap pode ser criado em um arquivo ou em uma partição.

Se for em uma partição, tem de ter espaço não particionado , para criar uma partição nova específica para swap .

Você particiona o espaço que vai usar, e coloca o tipo de partição como 82 , que é Linux Swap .

Depois usa o comando mkswap no block device dessa partição para formatar essa partição de swap ;

Por último, você ativa o swap com swapon e o block device da partição swap.

Por exemplo meu cartão microSD é /dev/block/mmcblk0 , ou seja MMC , Bloco 0 . MMC é a tecnologia do cartão microSD , e bloco equivale a unidade semelhante a C: ou D: , porque tem androids com mais de uma entrada para cartão .

Para entender melhor sobre esses nomes como /dev/block/mmcblk0, pode ler esse link ( em inglês ), ou a usar essa tradução dele pelo Google Translator

A primeira partição é FAT32 e a segunda é EXT4 , vou criar uma terceira partição para swap, então vou particionar com o comando fdisk :



Use o "m" para ver o menu básico do fdisk:



Use "p" para ver as partições:



Use "n" para criar uma nova partição ( no espaço não particionado ).

Ao pedir o "n", ele pergunta se quer criar partição primária ou extendida, no caso é simples então só uma primária serve , ele então pergunta qual partição criar, eu indico a 3ª .

Aceito com <enter> o primeiro cilindro livre, é o primeiro cilindro livre depois do final da segunda partição, e indico que quero essa partição com tamanho de 32M , digitando "+32M" . Escolhi esse tamanho de partição, pode colocar maior ou menor de acordo com o objetivo.





Então na tabela de partições ( feita na memória RAM ) adicionei a partição, mas tenho de colocar o tipo dela não Linux, mas Linux Swap . Faço isso com a opção "t" , indico a partição 3 que criei, e coloco tipo 82, que decorei da lista e é Linux swap .



Por fim vendo que ficou como queria, saio salvando a tabela de partições feita na memória RAM em cima da tabela de partições do microSD .

Como fiz isso com o aparelho bootado e rodando , o Kernel não pôde reler a tabela agora, e tenho de reinicializar o aparelho.



Essa parte do fdisk terminou . Dependendo dos scripts de inicialização da Custom ROM , só ter a partição com tipo swap já vai formatar e adicionar o swap corretamente.

Se não então é formatar a partição swap e ativar. Primeiro vejo com free como está a memória, está indicado esse espaço como swap, mas na verdade é outra coisa, chamada ZRAM , que é a compactação de memória RAM , armazenada na própria RAM , e usada como swap .

Para formatar é simples, mkswap /dev/block/mmcblk0p3 . Muito importante indicar a partição p3 certo , se indicar errado vai perder outra partição e pode matar o aparelho.

Depois de formatado, para ativar basta um swapon /dev/block/mmcblkp3 .

Então confirmo esse novo espaço , novamente com free .



Ou seja você confirma a quantidade de swap com o mesmo comando para ver quanto tem de memória RAM, o free .

O swap é gerenciado pelo Kernel, você mode modificar para o Kernel usar mais o swap ou usar menos, setando em /proc/sys/vm/swappiness .

Quanto mais alto colocar o swappiness, mais o kernel vai salvar memória RAM no swap , em compensação mais lento o aparelho vai ficar .

Só vale a pena usar swappiness alto se tem muito pouca RAM, 256MB ou menos , ou casos raríssimos que precisa usar muitos aplicativos abertos ao mesmo tempo, por exemplo copiar fotos via browser direto para um editor de imagens , a imagem editada para um editor de texto e do editor de texto enviado por email , fazer tudo ao mesmo tempo várias vezes e sem fechar nada.

O padrão em algumas Custom ROMs como a MiniCM10 é ter swapness de 60 se não tiver ZRAM ou 30 se tiver ZRAM .

O swap tende a aumentar o consumo de bateria e também tende a deixar o aparelho mais lento, e o próprio Android tem a capacidade de desalocar aplicações que você tenha usado menos ou a mais tempo, para carregar novas aplicações, porém no caso de aparelhos como o Xperia Mini que só tem 256MB de RAM e 256MB de ROM, algumas coisas só se consegue rodar se tiver com com SWAP ou ZRAM ativos.

No meu caso uso um pouco de ambos.

Arquivo(s) anexado(s)


Não respondo dúvidas via email, caixa de entrada ou mensagem privada. Procure o fórum sobre seu aparelho e crie um tópico novo com a dúvida, assim não somente eu mas qualquer membro poderá ajudá-lo.