Quais as diferenças entre o modo portátil e o modo de armazenamento interno, no Android?

Alguns aparelhos, dependendo das escolhas feitas pelos seus fabricantes têm suporte ao modo de armazenamento interno, em adição ao modo tradicional de armazenamento.
android robot and an SD card in black and white picture
Dezenas de dúvidas sobre o modo de armazenamento interno (também chamado, em inglês, de adoptable mode) foram sanadas no artigo perguntas e respostas sobre o modo de armazenamento interno no Android — sugiro fortemente a sua leitura.

Neste post, vamos abordar o assunto por outro ponto de vista: o da escolha por um ou outro método de armazenamento em smartphones ou tablets Android.

Ao inserir um cartão novo no seu celular Android, a partir da versão 6.0 Marshmallow — se o dispositivo tiver suporte ao recurso — o dono se depara com a pergunta sobre se deseja usá-lo sob um dos 2 modos de armazenamento.
inserting an SD card in a reader
Quando é mais conveniente usar um ou outro, é o assunto neste artigo.
Neste sentido, espero que a tabela, abaixo, ajude você a identificar exatamente em que grupo se encontram as suas necessidades e como você pode aproveitar melhor o seu cartão de memória:

Armazenamento portátil Armazenamento interno
Selecione o modo portátil se você costuma guardar, em um mesmo cartão SD, arquivos de mais de um dispositivo (entre câmera, laptop, celular etc.) ou o usa apenas para armazenar mídia (fotos, músicas, vídeos etc.) Selecione o modo de armazenamento interno se você quer estender completamente o espaço de armazenamento do seu dispositivo e vai precisar do cartão para gravar aplicações grandes, jogos e dados de jogos.
Se você tem um cartão de memória não muito atual, de classe 2, 4 ou 6, opte pelo modo portátil. Se tem um cartão de alta velocidade (high-speed), UHS-1 ou classe 10, é possível optar pelo modo interno, sem sofrer com lentidão.
Se você costuma ou tem a pretensão de trocar cartões de memória com frequência ou usá-los para transferir conteúdo entre dispositivos. Se você planeja manter o cartão sempre dentro do dispositivo, baixar jogos pesados e está sempre tendo problemas de falta de espaço — use um cartão de grande capacidade e formate-o no modo interno.
Se os seus aplicativos junto com seus dados são sempre armazenados na memória interna e não podem ser transferidos para o cartão, opte pelo armazenamento tradicional. Se você sabe que os seus aplicativos favoritos podem ser transferidos para um cartão, junto com seus arquivos de dados.
Em tempo, quem decide se os aplicativos e/ou seus dados podem ser transferidos para o cartão é o desenvolvedor.
Se o cartão vai ser usado e lido por outros dispositivos (outro telefone, desktop (Mac ou PC), câmera digital. Se você planeja manter o cartão sempre dentro deste aparelho.
Se você não quiser criptografar o cartão. Se você não se importa de criptografar o cartão.
O modo portátil não requer a formatação automática do cartão. Para usar este modo, o cartão terá que ser formatado e criptografado.

Leve também em conta que a Lenovo/Motorola recomenda formatar seu cartão no modo interno quando o seu dispositivo tem 8 GB ou menos espaço na memória interna nativa dele.
samsgung 64 GB PRO card
Para ter mais informações, antes de decidir, não se esqueça de ler os artigos:

  1. Perguntas e respostas sobre o armazenamento interno.
  2. Como formatar o cartão no modo interno.
  3. Passo a passo para formatar o seu cartão SD no modo interno (explica a mesma coisa que o segundo artigo, com uma abordagem diferente).

Use também a caixa de busca do site, para obter mais informações sobre o assunto.

Como criptografar um dispositivo Android da Lenovo/Motorola.

Este tutorial foca o procedimento de criptografia de smartphones e tablets Android a partir da versão 5.1 Lollipop.
Os meus exemplos foram executados em um aparelho com Android 7.0 Nougat (Moto G4 Plus) — mas tudo funciona da mesma forma nas versões entre 5.1 e 7.0.
Se você usa um dispositivo com uma versão anterior do Android, leia este post.
Se você tem dúvidas sobre o impacto na performance do seu aparelho, depois do procedimento da criptografia, leia este artigo.
Pessoalmente, não percebi diferença na performance do aparelho, após a codificação.
Existem alguns pontos a considerar, antes de realizar o procedimento:

  • Previna-se de possíveis incidentes e faça backup de seus arquivos antes de começar.
  • O processo é “um pouco” demorado, portanto, separe aproximadamente uma hora, durante a qual o seu aparelho irá ficar indisponível.
    Você vai ter que ter paciência para esperar.
  • A criptografia é feita para proteger os seus dados e arquivos, dentro do aparelho. O processo não protege as suas comunicações, nem a transferência de arquivos para outro local.
    Ou seja, o recurso é eficiente para proteger suas informações e seus arquivos em caso de roubo, perda ou uso não autorizado do smartphone.
  • Se seu aparelho criptografado sofrer um acidente, pode ser impossível recuperar os dados dentro dele. Portanto, incorpore à sua vida, uma rotina de backup consistente.
  • Você pode ficar “trancado do lado de fora” do seu aparelho se perder a senha de acesso. Este é o objetivo da criptografia: não permitir o acesso a quem não tem a senha. Portanto, não perca sua senha e, não menos importante, use senhas fortes.

Em aparelhos atuais, com os novos processadores 64 bit, a criptografia não traz impactos significativos à performance do sistema — e eu mostrei isto aqui.

Os processadores modernos já são projetados para realizar as extenuantes tarefas de codificar e decodificar informações.
Se você não usar criptografia no seu smartphone, estará desperdiçando recursos que já estão lá, pelos quais você pagou e que provavelmente não serão usados para outra coisa.

Como criptografar o seu aparelho Android

O procedimento, como eu disse, pode ser um pouco demorado — mas é muito simples.
Basta seguir estes passos:

  1. Abra o menu de Configurações e selecione a opção Segurança.
  2. Role e toque na opção Criptografia e depois, em Codificar telefone.
    Em algumas marcas de aparelhos as opções de criptografia ficam sob a opção Armazenamento.
    lenovo motorola android criptografia segurança
  3. Leia atentamente as informações exibidas na tela e prossiga.
    Como já avisei, o processo pode demorar um bocado e o aparelho irá reiniciar algumas vezes.
    Apenas aguarde.

android criptografia tela de andamento

Como comprimir arquivos no Linux, usando o comando gzip

O comando gzip oferece um dos meios mais eficientes de comprimir arquivos, no Linux.
O gzip faz uso do Lempel-Ziv ou lz77 que, além de ser eficaz na redução do pacote final, promove uma metodologia de compressão lossless, ou seja, sem perda de informações.
gzip oficial logo

O LZ77 e o LZ78 são dois algoritmos de compressão lossless, publicados por Abraham Lempel e Jacob Ziv, em 1977 e 1978.
São também conhecidos por LZ1 e LZ2, respectivamente. Ambos formam a base para outras variações, o que inclui os LZW, LZSS, LZMA etc.
Além da influência no meio acadêmico, estes algoritmos formaram a base de vários importantes e ubíquos esquemas de compressão, tais como o GIF (imagens) e o algoritmo deflacionário usado nas imagens PNG.

O gzip é um comando muito usado na compressão de arquivos e diretórios no Linux — diretamente ou dentro de scripts (de backup, por exemplo). Com toda certeza, vale a pena conhecer melhor o seu uso.
Ao final do artigo, há um link para o site data-compression, onde é possível obter mais informações sobre o algoritmo.
A animação, que segue, demonstra a aplicação do método LZ1/LZ2 de compressão:
lempelziv animation
Além disto, entre os programas de (de)compressão, este é padrão e costuma estar presente em quase todas as distribuições GNU/Linux.

Como usar o gzip, na linha de comando do Linux

Como comportamento padrão, quando comprimimos um arquivo ou pasta, usando o comando gzip, o resultado será um arquivo com o mesmo nome, acrescido da extensão .gz.
Para comprimir um simples arquivo, use o gzip na linha de comando, assim:

gzip arquivo

O mesmo vale para um arquivo do LibreOffice:

gzip documento.odt 
ls doc*

documento.odt.gz

Como você pode ver, no exemplo acima, o nome do arquivo foi acrescido da extensão .gz, logo após sua original .odt.
Alguns arquivos irão ter taxas de compressão melhores do que outros.
Documentos de texto, imagens bitmap, arquivos de áudio WAV e FLAC, entre outros, costumam alcançar boas taxas de compressão.
Por outro lado, arquivos de compressão lossy, que já sofreram perda de dados, como imagens JPEG e áudio MP3, terão péssimas taxas de compressão. Na verdade, o resultado final pode acabar sendo um arquivo maior — uma vez que passarão a carregar informações adicionadas pelo gzip.

Como descomprimir arquivos gzip

Se você tem um arquivo que já tenha sido comprimido via gzip, use o comando acompanhado da opção ‘-d’ (descomprimir) para reverter o processo anterior.
Veja um exemplo:

gzip -d documento.odt.gz 
ls doc*

documento.odt

Como forçar o gzip a comprimir um arquivo

Quando não houver ganho na compressão de algum arquivo, o gzip pode “se recusar” a fazer o serviço.
Se você pretende insistir na tarefa, use a opção ‘-f’ para forçar o gzip a prosseguir.
No exemplo, que segue, acompanhe o que é feito, através dos comentários, precedidos pelo símbolo #:

# Verificação do tamanho original do arquivo BackCover.jpg.gz
ls -l BackCover.jpg.gz 
-rw-r--r-- 1 justincase justincase 76646 Ago 29 18:22 BackCover.jpg.gz

# Ao tentar comprimir o arquivo o programa avisa que ele já tem a extensão .gz
gzip BackCover.jpg.gz 
gzip: BackCover.jpg.gz already has .gz suffix -- unchanged

# Para prosseguir, use a opção -f
gzip -f BackCover.jpg.gz 

# Note que o arquivo final passou a ter 50 bytes a mais
ls -l BackCover.jpg.gz.gz 
-rw-r--r-- 1 justincase justincase 76696 Ago 29 18:22 BackCover.jpg.gz.gz

Se quiser, faça suas próprias experiências, antes de prosseguir.

Como manter o arquivo original e aplicar a compressão a uma cópia

Para manter o arquivo original e criar um novo arquivo comprimido, use a opção ‘-k’:

gzip -k cartaz.jpg
ls -l cartaz.*
-rw-r--r-- 1 justincase justincase 76965 Ago 29 18:22 cartaz.jpg
-rw-r--r-- 1 justincase justincase 76643 Ago 29 18:22 cartaz.jpg.gz

Como obter estatísticas de compressão do gzip

O objetivo de se comprimir arquivos é economizar espaço de armazenamento e/ou obter transferências mais eficientes, na rede.
Seria interessante, portanto, obter algumas estatísticas sobre a eficiência de compressão sobre os arquivos.
Para ter uma idéia da eficiência da compressão de um arquivo, use a opção ‘-l’:

gzip -l cartaz.jpg.gz 

O que se vê, como resultado, é o tamanho original do arquivo, seu tamanho comprimido, a taxa de compressão obtida pelo gzip e, por fim, o nome original do arquivo:

         compressed        uncompressed  ratio uncompressed_name
              76643               76965   0.5% cartaz.jpg

Dá para comprimir pastas com o gzip?

Se você quiser comprimir uma pasta inteira, para dentro de um único pacote, o ideal é usar o comando tar — por que o gzip irá comprimir cada arquivo, individualmente, não a pasta inteira, como um pacote.
Além disto, ele não aceita compactar o diretório. Veja:

gzip textos/
gzip: textos/ is a directory -- ignored

Para compactar os arquivos dentro do diretório – recursivamente, portanto –, é necessário usar a opção ‘-r’:

gzip -r textos/

O resultado é o que segue:

ls -l textos/
total 20
-rw-r--r-- 1 justincase justincase 145 Ago 30 11:18 texto1.txt.gz
-rw-r--r-- 1 justincase justincase 145 Ago 30 11:20 texto2.txt.gz
-rw-r--r-- 1 justincase justincase 145 Ago 30 11:20 texto3.txt.gz
-rw-r--r-- 1 justincase justincase 145 Ago 30 11:20 texto4.txt.gz
-rw-r--r-- 1 justincase justincase 145 Ago 30 11:20 texto5.txt.gz

Como verificar se o gzip obteve sucesso no procedimento

Se você usa o gzip, dentro de um processo de backup, pode verificar a integridade de cada arquivo comprimido com a opção ‘-t’:

gzip -tv textos/*
textos/texto1.txt.gz:    OK
textos/texto2.txt.gz:    OK
textos/texto3.txt.gz:    OK
textos/texto4.txt.gz:    OK
textos/texto5.txt.gz:    OK

Note que adicionei o ‘v’ às opções do comando. Do contrário, ele não retornaria resultados, a menos que houvesse erros. Isto seria útil dentro de um script.
Por fim, é possível controlar a taxa de compressão, adicionando um valor númerico, como opção — de 1 a 9.
Para obter a taxa de compressão máxima, use o valor 9.
Na “brincadeira”, abaixo, o arquivo foi compactado com a opção ‘-1’, primeiro (que é a taxa de compressão mais baixa) e depois, com a taxa de compressão mais alta. Enquanto isto, foi verificada a estatística de compressão de cada um, com a opção ‘-l’:

# compactando com a taxa mais baixa
gzip -1 documento.odt 
# obtendo estatísticas
gzip -l documento.odt.gz 
         compressed        uncompressed  ratio uncompressed_name
                159                 685  81.5% documento.odt

# descomprimindo o arquivo
gzip -d documento.odt.gz 
# compactando com a taxa mais alta
gzip -9 documento.odt 
# obtendo estatísticas
gzip -l documento.odt.gz 
         compressed        uncompressed  ratio uncompressed_name
                158                 685  81.6% documento.odt


Não use o programa gzip com arquivos ZIP. Para este tipo de arquivo, existem aplicativos apropriados: o zip e o unzip, por exemplo.

Referências

https://en.wikipedia.org/wiki/LZ77_and_LZ78.
http://www.data-compression.com/lempelziv.html.
http://linux.about.com/od/commands/fl/Example-Uses-Of-The-Linux-gzip-Command.htm?utm_content=7489444&utm_medium=email&utm_source=exp_nl&utm_campaign=list_linux&utm_term=.

Como mover apps da memória interna para o cartão SD

Uma das melhores coisas em um smartphone é a possibilidade de ampliar o seu espaço de armazenamento com mídias externas e removíveis — como os cartões de memória SD.
Entre os tipos de arquivos que mais ocupam espaço estão as fotos e os vídeos em alta resolução.
Aplicativos também consomem uma grande quantidade de memória.
Aparelhos mais populares costumam vir com menos de 8 GB de espaço interno para armazenar o sistema operacional, apps e arquivos.
Se descontar o espaço ocupado pelo Android, junto com aplicativos irremovíveis (bloatware), o que sobra para o usuário instalar seus próprios apps e guardar seus arquivos é muito pouco — não passa de 4 GB, em muitos casos.
Um cartão de memória parrudo pode resolver boa parte destes problemas — mas não todos.

Embora o Android permita ter aplicativos rodando a partir de uma mídia externa, nem todos os aplicativos podem ser movidos — isto depende do desenvolvedor do app.

Como mover um app para o cartão

Aparelhos rodando com Android 5.0 Lollipop, Android 6.0 Marshmallow ou superior permitem que você mova facilmente seus aplicativos da memória interna para o cartão — sem necessidade de rootear o aparelho ou instalar aplicativos de terceiros (não tenho nada contra).
Siga o passo a passo:

  • Abra o menu de configurações e selecione Aplicativos.
  • Em seguida, corra a tela para o app que você deseja mover e selecione-o.

As instruções que seguem, baseiam-se no mapa da figura abaixo.
android passo a passo para mover app para cartão SD
Com o painel de informações do app, que você deseja mover para o cartão SD, na tela, siga o passo a passo:

  1. Toque em Armazenamento para poder ver e editar as opções deste menu.
  2. Note que no canto superior direito da tela, o painel informa qual o local em que o aplicativo se encontra armazenado: Interno.
    Toque em Alterar para mudar isto.
  3. Agora, escolha o novo local de armazenagem: Interno ou Cartão SD.
  4. Leia o aviso com atenção e, se concordar, toque em Mover.
  5. Aguarde, enquanto o sistema reorganiza os arquivos.
  6. Quando o processo termina, ele volta ao painel de Armazenamento.
    Note que, no canto superior direito, ele atualizou o local em que o app se encontra guardado: Cartão SD.

Casos específicos e exceções

O aparelho usado nos testes que ilustram este post, é um Motorola Moto G 3, com Android 6.0 e com o cartão de memória formatado no adoptable mode.
O que vou dizer agora, vale para aparelhos Motorola — mas talvez se aplique a modelos de outras marcas.
Se você usava o Android Lollipop e fez o upgrade (via OTA) para o Marshmallow, as aplicações que você já tinha movido ou instalado no cartão SD, através do recurso padrão da Motorola continuarão a rodar do cartão.
Contudo, não será mais possível, no Android 6.0, mover novos apps para o cartão — e nem a Play Store irá fazer este tipo de instalação.
Para poder fazer este procedimento, será necessário formatar o cartão como armazenamento interno antes.

Quando o aplicativo não aceita ser movido para o cartão SD

Muitos apps não aceitarão ser movidos para o cartão.
Se você está com problema de falta de espaço, a coisa pode ficar ainda mais chata.
Alguns players de música, como o Tunein, Spotify, Deezer, Google Play Music etc. armazenam as músicas em formato criptografado dentro da memória principal — como procedimento padrão.
O problema disto é óbvio: a memória se esgota mais rápido — principalmente se você optou por baixar para ouvir offline ou desconectado da Internet.
Para poder ter o controle de enviar as músicas para o cartão, pode ser necessário adquirir a versão paga do aplicativo.

Perguntas e respostas sobre o SWAP

No decorrer dos anos, tenho colecionado algumas perguntas sobre o recurso de SWAP, ou área de troca, no Linux.
As perguntas surgiram de alguns artigos sobre o assunto, neste site.
Não tenho a intenção de repetir o que já escrevi (eu não quero ser chato, obviamente) — mas quero responder o que não respondi.
Este post é voltado para usuários novatos e, portanto, não vai abordar técnicas complexas ou usar termos “mais rebuscados” — para isto, há alguns links, no decorrer do texto, para outros posts onde é possível obter informações mais aprofundadas.
Sinta-se à vontade para expôr dúvidas básicas e adicionais ou compartilhar sua experiência, na sessão de comentários.
Disco rígido

O que é o swap

Área de troca ou swap é um espaço em disco que, em conjunto com a memória física (RAM), faz parte do sistema de memória virtual.
A área de troca guarda temporariamente as páginas de memória inativas.
Este espaço é usado quando o sistema percebe que precisa de mais memória física (além da que se encontra disponível) para os processos ativos e para os dados que estão em uso.
O swap pode ficar em uma partição dedicada do disco rígido (o que é recomendado), em um arquivo de swap ou em uma combinação dos dois.
Seu principal defeito é que seu tempo de acesso é muito lento.
Se comparar a velocidade da memória RAM com as taxas de transferência dos discos rígidos mais rápidos, o swap é extremamente lento, para ser usado como memória.
Trata-se de um paliativo e não, exatamente, uma solução.
Se o seu sistema está fazendo uso intenso do swap, você deveria pensar em adquirir mais memória RAM.
Disco rígido, HDD

Por que necessitamos de SWAP

Há várias situações em que o seu sistema pode recorrer ao uso do swap.

  • Programas consomem memória.
    Alguns programas consomem muita memória — o que pode fazer com que o sistema necessite, temporariamente, de uma quantidade extra de espaço na memória RAM.
    Parte dos recursos, das informações ou páginas usadas por programas podem não estar mais sendo utilizadas. Neste caso, o sistema pode movê-las para a área de troca, liberando memória RAM para as tarefas ativas.
  • O recurso de hibernação ou suspend-to-disk funciona gravando o conteúdo da memória RAM na partição, antes de desligar a máquina.
    Para isto ocorrer, é necessário que o espaço alocado para o swap seja do tamanho (pelo menos) da sua memória RAM.
  • Circunstâncias ou eventos imprevisíveis, de vários tipos (o que inclui programas com “mau comportamento”) podem ocupar uma grande quantidade de memória. Neste caso, é bom ter um espaço extra para “manobrar” dentro do sistema.
  • Otimizar o uso da memória do sistema, uma vez que os discos rígidos são consideravelmente mais lentos do que a RAM. Isto ocorre por que o acesso aos dados envolve a movimentação de partes mecânicas, no caso dos HDs.
    Ainda que você considere o uso do swap em uma unidade de estado sólido (ou SSD – Solid State Drive), ela ainda será significativamente mais lenta que a memória RAM.
    Deixar o gerenciamento de memória do sistema para o Linux resolver, costuma ser a melhor política.
    O Linux carrega os arquivos para a RAM e os mantém lá para uso posterior. Os arquivos armazenados na RAM podem ser disponibilizados instantaneamente.
    Há porções da RAM separados para para acelerar a leitura dos dispositivos de armazenamento auxiliares (leitores de CD/DVD/Bluray, cartões de memória, USB etc) — e são chamadas de cache.
    A função do sistema de cache, é armazenar em RAM, dados que estão sendo lidos dos dispositivos auxiliares, para que possam ser acessados mais rapidamente.
    Uma vez que o caching é uma das melhores formas de agilizar as tarefas, o Linux prefere mover dados pouco usados para o swap, em função de liberar mais memória para o sistema de cache — que é uma solução mais eficiente.
  • O sistema de gestão da memória, no Linux, é comprovadamente excelente. O aperfeiçoamento deste sistema, contudo, pode ser feito através de ajustes, que o adequem às necessidades específicas das aplicações que você estiver rodando.

  • Otimizar a performance do próprio swap. Já que este também usa o disco rígido ao mesmo tempo que todo o resto do sistema, pode causar gargalos e afetar seriamente a performance do sistema.
    Uma das formas de evitar este problema é manter a área de troca em um drive físico diferente — para evitar a competição por recursos entre os aplicativos e o sistema de swap.

Qual o tamanho ideal do swap

Em distribuições populares, como o Ubuntu, Debian, Fedora etc. instaladas em máquinas com menos de 1 GB de memória física (RAM), o tamanho do swap deve ser equivalente à quantidade de memória.
Se você tiver muito espaço no disco rígido, pode configurar o sistema para usar mais swap, até um teto equivalente ao dobro da capacidade de memória física.
A partir deste valor, não há benefícios significativos.
Se você precisa de um swap maior do que o dobro da capacidade de memória RAM, você deveria investir em aumentar a quantidade de memória física do sistema.
Geralmente, se algo demora 1 segundo para ser feito dentro da memória RAM, levaria 15 minutos para ser feito a partir do disco rígido. Mesmo em um SSD rápido, o trabalho ainda levaria mais de um minuto.
É seguro acompanhar a tabela abaixo, para computadores com até 1 GB de memória RAM:

Quantidade de RAM Sem hibernação Com hibernação Máximo
(Valores em MB)
256 256 512 512
512 512 1024 1024
1024 1024 2048 2048

Trocando em miúdos, configure o tamanho do swap para ser igual ao da memória física da sua máquina, se não for usar o recurso de hibernação. Se for usar o recurso, configure o swap para o dobro da memória física.
Para computadores, com maior quantidade de memória, use os valores da tabela a seguir.

Quantidade de RAM Sem hibernação Com hibernação Máximo
(Valores em GB)
1 1 2 2
2 1 3 4
3 2 5 6
4 2 6 8
5 2 7 10
6 2 8 12
8 3 11 16
12 3 15 24
16 4 20 32
24 5 29 48
32 6 38 64
64 8 72 128
128 11 139 256

Estas tabelas demonstram o quanto é indesejável inflar a área de troca no Linux — use apenas o necessário.
Geralmente, o recurso de hibernação não faz sentido em servidores. Portanto, podem usar a quantidade mínima de espaço na área de troca.

O que é mais rápido? Usar uma partição exclusiva para swap ou usar um arquivo swap?

Na perspectiva do usuário final, em kernel de versão superior a 2.6.x, arquivos de swap e partições de swap têm o mesmo desempenho de velocidade.
A limitação dos arquivos de swap é que precisam ter seus blocos todos contíguos para obter o melhor desempenho.
A fragmentação não é um problema pro kernel — na verdade, o sistema de swap pode englobar partições, arquivos, drives USB etc. todos de uma vez.
O kernel mantém um mapeamento com a localização de cada dispositivo e o acessa diretamente, ignorando o cache e o sistema de arquivos.
Embora não seja um problema, esta situação concorre para a redução do desempenho.
A documentação da Red Hat recomenda que você use partições exclusivas para swap, portanto.
Quando a partição exclusiva para swap reside em disco rígido (HDD), que é um dispositivo magnético e rotativo, é possível tirar vantagem da localização contígua e desfragmentada dos dados — o que proporciona um tempo de busca menor.
Contudo, é mais fácil administrar os arquivos de swap: você os pode colocar onde quiser; é fácil redimensionar etc.

Podemos usar o swap em uma unidade SSD?

As pessoas costumam ver este cenário como problemático, por 2 motivos:

  1. por acreditar que o swap é muito usado no seu sistema, causando um grande fluxo de dados — intensa atividade de leitura e escrita e
  2. por acreditar que as unidades SSD não suportam um grande número de eventos de leitura e escrita

O fato é que, no Linux, o swap é muito pouco usado. Em um sistema com quantidade adequada de memória para as suas aplicações, há poucas possibilidades de se chegar a usar o swap.
Ainda neste post, mostro como saber a quantidade de swap que você está usando no sistema.
Ainda que fosse muito usado, como no Windows, ainda assim se recomenda deixar o swap no SSD.
As unidades SSD atuais suportam uma grande quantidade de operações de leitura e escrita — o suficiente para você não precisar se preocupar com o suposto desgaste.
Some a isto o fato de que as partições swap do Linux, por padrão, executam operações de trimming, quando o dispositivo de bloco tem suporte ao TRIM.
Portanto, a resposta é sim. Se você tem uma unidade SSD atual, com espaço para uma partição ou arquivo de swap, é recomendado usá-lo.

O que é o swapiness?

O parâmetro de controle swapiness dita a tendência do kernel a mover processos da memória física para o swap (arquivo ou partição).
Como já se sabe, discos são muito mais lentos do que a memória RAM.
Portanto, quanto mais o sistema usa a área de troca em disco, mais lento ele se torna.
O swapiness regula esta relação entre o uso da memória física e o swap:

  • pode ter um valor entre 0 e 100
  • ao definir o valor 0 para o swapiness, você diz pro kernel para só mover processos da memória física para a área de troca em último caso
  • ao definir o valor 100 par o swapiness, você diz ao kernel para mover agressivamente processos da memória física para o swap

Nas principais distribuições GNU/Linux, como Ubuntu, Debian, Fedora etc. o valor padrão do swapiness é igual a 60.
No artigo Como melhorar a performance do Ubuntu, reduzir o valor do swapiness é apontado como uma das medidas a ser adotada para melhorar o desempenho geral do sistema.
No site oficial (veja links ao final do texto) da comunidade e suporte ao Ubuntu, há uma recomendação para usar swapiness=10 em instalações de uso normal.
Para verificar o valor atual do swapiness no seu sistema, use o seguinte comando:

cat /proc/sys/vm/swappiness

Se você quiser saber mais sobre este assunto e aprender a alterar o swapiness, leia o texto Reduza o uso do swap e melhore o desempenho do Linux.
Memória RAM

Por que o Linux não está usando o swap?

É possível saber quanto do swap está sendo usado em seu sistema com o comando free:

free -h
             total       used       free     shared    buffers     cached
Mem:          7,5G       3,5G       4,0G       403M        90M       1,7G
-/+ buffers/cache:       1,7G       5,8G
Swap:          15G         0B        15G

Neste momento, no meu sistema 0 bytes estão sendo usados pelo swap.
A resposta mais simples para esta situação é: se o sistema não está usando, é por que não é necessário.
Contudo, você pode alterar o quadro se abrir vários aplicativos vorazes por recursos da memória do sistema — como o Gimp, o LibreOffice, o Audacity etc).
Depois disto, rode o comando free mais uma vez.
Incrementar o valor do swapiness, como já foi explicado antes, pode ser uma forma mais agressiva de aumentar o uso do swap.
Lembre-se também que o Linux usa o recurso durante a hibernação — onde ele grava o estado atual da memória do sistema.
Você pode também verificar se há e qual é a partição swap no seu sistema, com o comando fdisk:

sudo fdisk -l | grep swap
[sudo] password for justincase: 
/dev/sda1  *        2048  31999999  31997952  15,3G 82 Linux swap / Solaris

Como esvaziar o swap

Mesmo tendo uma grande quantidade de RAM e mesmo que você esteja usando um valor baixo para o swapiness, ainda é possível que o seu sistema recorra ao swap, em algum momento.
Se isto acontecer, você pode manualmente esvaziar esta área.
Só para ficar claro, este procedimento é totalmente desnecessário e você nunca deveria se preocupar em esvaziar a área de troca do seu sistema — o próprio Linux se encarrega de fazer isto automaticamente.
Os próximos passos necessitam de privilégios administrativos para serem realizados:

  1. Inicie o seu editor favorito para criar o script swap2ram.sh. Eu vou guardar o meu script em ‘/usr/local/sbin/’. Você pode gravar o seu onde quiser. Apenas tome o cuidado para adequar as instruções deste post ao que você vai realizar aí.
  2. O conteúdo do script é o que segue:
    #!/bin/sh
    
    mem=$(LC_ALL=C free  | awk '/Mem:/ {print $4}')
    swap=$(LC_ALL=C free | awk '/Swap:/ {print $3}')
    
    if [ $mem -lt $swap ]; then
        echo "ERRO: não há espaço suficiente em RAM para transferir o conteúdo do swap. Não é possível prosseguir." >&2
        exit 1
    fi
    
    swapoff -a && 
    swapon -a
    
    
  3. Após gravar o seu script, torne-o executável:
    sudo chmod +x /usr/local/sbin/swap2ram.sh
    

Basicamente, o script /usr/local/sbin/swap2ram.sh compara a quantidade de memória RAM disponível e o tamanho do swap.
Se houver espaço suficiente na primeira, o script prossegue com a desativação (swapoff) e ativação (swapon) da área de troca.


Imagens: http://www.pixabay.com.

Referências

https://lkml.org/lkml/2006/5/29/3.
https://en.wikipedia.org/wiki/Paging#Linux.
https://help.ubuntu.com/community/SwapFaq.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/ch-swapspace.html.