Eu li que você precisa colocar a partição swap no disco rígido, em vez do SSD.
Minhas perguntas são as seguintes:
- Quando e como a "verificação" é feita pela distribuição (ou outra coisa) para encontrar sua partição Swap?
- Isso acontece durante a inicialização?
- Apenas verifica todos os discos disponíveis e procura uma partição com o sinalizador 'swap'?
- O que acontece se houver várias partições como essa?
- Além disso, quantas partições de troca eu preciso ter se executar, por exemplo, duas distribuições diferentes no mesmo disco, digamos Fedora e Ubuntu?
Respostas:
O espaço de troca configurado estaticamente (o tipo que praticamente toda distribuição usa) é configurado em
/etc/fstab
exatamente como os sistemas de arquivos.Uma entrada típica se parece com:
Você também pode ver
discard
ounofail
especificado no campo sinalizadores (o quarto campo). Cada linha corresponde a uma área de swap (não possui ser uma partição, você pode ter arquivos de troca ou até discos de troca inteiros).Em alguns casos realmente específicos, você pode ter um espaço de troca configurado dinamicamente, embora isso seja bastante raro, pois pode causar um comportamento problemático relacionado ao gerenciamento de memória. Nesse caso, a configuração é manipulada inteiramente por um componente do espaço do usuário que cria e habilita os arquivos de troca conforme necessário no tempo de execução.
Quanto você precisa, essa é uma pergunta complicada de se responder, mas o número de diferentes distribuições Linux que você planeja executar tem impacto nulo, a menos que você queira executar uma distribuição enquanto estiver em hibernação (e você provavelmente não quer fazer isso, pois é uma maneira muito fácil de estragar seu sistema).
Quando você executa o instalador para quase todas as principais distribuições (incluindo Fedora, OpenSUSE, Linux Mint, Debian e Ubuntu), ele detecta qualquer partição de troca existente no sistema e as adiciona à configuração da distribuição que você está usando. instalação (exceto possivelmente se você selecionar o particionamento manual) e, na maioria dos casos, isso resultará na configuração do sistema de maneira sensata.
Além disso, eu pessoalmente sugeriria evitar várias partições de troca, a menos que você esteja falando de um sistema de servidor com muitos discos e, mesmo assim, você realmente precisa saber o que está fazendo para se configurar para que ele funcione bem .
fonte
/tmp
partições / diretórios diferentes ). Provavelmente, nesse caso, é melhor ter máquinas virtuais ...systemctl --all | grep swap
, recebo dois resultados.dev-disk-by\x2duuid-1c692cc4\x2df942\x2d4478\x2dad0f\x2d266b7484273a.swap
eswap.target
ambos são ATIVOS = inativos e SUB = mortos . Como faço para que meu sistema faça uso da área de troca?... atualmente são sistemas operacionais systemd.
O que acontece nos sistemas operacionais systemd
o mecanismo nativo
O Systemd emprega vários tipos de unidades.
.mount
arquivos de unidade instruem-no a montar volumes..swap
arquivos de unidade instruem-no a informar o kernel sobre partições de troca. (os.service
arquivos da unidade instruem como executar serviços. E assim por diante.) Esses são os mecanismos nativos do sistema. Para promulgá-los, o próprio systemd cria processos filhos que fazem as chamadas relevantes do sistema.Se você usar o
systemctl
comando (with--all
) nesse sistema operacional systemd, ele informará sobre o carregamento.swap
unidades . Por exemplo:Ele também informará sobre as
.mount
unidades.Um administrador do sistema pode realmente escrever esses
.swap
arquivos de unidade à mão, assim como xe pode escrever.service
,.socket
e outros arquivos de unidade com a mão. O systemd em si apenas procura por arquivos de unidade no sistema de arquivos. Eles são seu mecanismo nativo.Pode-se até fazer com que systemd mostre o que há nesses arquivos de unidade e onde eles podem ser encontrados no sistema de arquivos:
arquivos de unidade gerados automaticamente
Pode-se escrevê-los à mão. Geralmente, porém, esses arquivos
.mount
e.swap
unidades são gerados automaticamente por programas conhecidos como geradores . Dois desses geradores sãosystemd-fstab-generator
esystemd-gpt-auto-generator
. Ambos são executados no início do processo de auto-inicialização e em resposta a umsystemctl daemon-reload
comando e (como você pode ver acima) geram uma carga inteira de arquivos de unidade em um subdiretório não documentado no Windows/run/systemd/
. O próprio systemd usa apenas os arquivos de unidade gerados .O gerador anterior lê
/etc/fstab
, reconhecendo várias extensões systemd para esse formato de arquivo. Como apontei em um comentário de resposta, tradicionalmente as partições de troca têm o tipo de montagemsw
e é assim que alguém descobrirá que outros sistemas operacionais reconhecem registros de troca nesta tabela. Mas os softwares Linux adotaram o caminho alternativo de reconhecer o tipo VFS , procurandoswap
como o tipo VFS.systemd-fstab-generator
não é uma exceção aqui, e é assim que ele interpreta/etc/fstab
ao convertê-lo nos mecanismos nativos.O último gerador processa a tabela de partição EFI que está no mesmo disco que contém a Partição do Sistema EFI, procurando entradas da tabela de partição EFI que possuem vários GUIDs do tipo de partição conhecidos . Um desses GUIDs é o GUID convencional atribuído às partições de troca do Linux; e se
systemd-gpt-auto-generator
encontrar uma partição com esse GUID (que satisfaça os critérios fornecidos no systemd doco), fará uma.swap
unidade para ele; não está/etc/fstab
envolvido .Obviamente, esse processo tem muitos efeitos colaterais. Por exemplo, como
/etc/fstab
não possui chave primária na tabela, os registros podem ter campos "spec" e "file" duplicados (ou seja, "what" e "where"). No mecanismo systemd nativo, no entanto, o campo "arquivo" (ou seja, "onde") é uma chave exclusiva para.mount
unidades, incorporada aos nomes das unidades. Duas.mount
unidades não podem compartilhá-lo. Para.swap
unidades, o campo "spec" (ou seja, "what") é a chave exclusiva para unidades. Não há duas.swap
unidades que possam compartilhar isso. Portanto, nem todos os registros/etc/fstab
são necessariamente conversíveis nos mecanismos nativos e funcionarão, especialmente se as pessoas fizerem coisas como listar o mesmo ponto de montagem para dois propósitos diferentes ou listar a mesma partição de troca de duas maneiras diferentes.Da mesma forma, como foi traduzido
/etc/fstab
para o mecanismo nativo e o mecanismo nativo do systemd possui outras maneiras de ativar unidades , o comportamento é sutilmente diferente daquele dos sistemas operacionais que não são do systemd. Por.mount
padrão, uma unidade será ativada automaticamentesystemd-udevd
, mesmo após a inicialização, em resposta à aparência do dispositivo de armazenamento montado. Ou pode ser listado como umWants=
ouRequires=
de alguns.service
ou.socket
unidade, o que significa que será (re) ativado quando estiver. Existe atéRequiresMountsFor=
.programas instaladores e a maneira systemd
Tradicionalmente, os programas de instalação do sistema operacional e o administrador do sistema após a reconfiguração do sistema têm
sw
entradas gravadas no/etc/fstab
. E é assim que o nativo.mount
e as.swap
unidades acabam sendo gerados automaticamente. O utilitário de instalação / configuração "sabe" onde o arquivo de troca foi colocado, porque em sua interface com o usuário o administrador do sistema fez algum tipo de escolha e grava uma/etc/fstab
correspondência. Às vezes, essa opção é que preciso que você me faça uma partição de troca como parte da instalação. ; às vezes é apenas use a partição swap que você já encontrou no disco. (instaladores olhando para os tipos de partição também).Mas as pessoas do sistema têm essa idéia de sistemas operacionais que se configuram automaticamente a partir de uma
/etc
árvore em grande parte vazia , os chamados sistemas sem estado , e é isso que mecanismos como o gerador que lê a tabela de partições EFI. No plano das pessoas do sistema, não existem/etc/fstab
e, de fato, não existem dados de configuração persistentes/etc
, e todo esse material é deduzido do conteúdo da tabela de partições em disco , a cada inicialização e a qualquer momentosystemctl daemon-reload
. Atualmente, eles estão promovendo programas de instalação de sistemas operacionais do/etc/fstab
que os que não escrevem .No esquema tradicional, é claro que você pode realmente ter cada sistema operacional com sua própria partição de troca privada, e não fazer com que eles toquem nas partições de troca um do outro. E, de fato, se você estiver usando o hibernate em disco por meio de uma partição de swap e esperando poder fazer a inicialização múltipla em outro sistema operacional enquanto hibernado (o que é uma péssima idéia, porque é muito fácil causar corrupção no sistema de arquivos dessa maneira ), isso será necessário.
No esquema systemd, mesmo que o sistema operacional ainda não esteja como as pessoas do sistema o imaginam e "sem estado", os geradores mencionados anteriormente são executados; e, portanto, todas as partições de troca (no disco ESP / raiz) com o tipo de partição necessário são empregadas automaticamente por todos os sistemas operacionais systemd. Como eles compartilharão todas as partições de swap descobertas automaticamente, não é necessário criar uma partição de swap por sistema operacional instalado.
Leitura adicional
systemd.swap
. páginas de manual do systemd . freedesktop.org.systemd-fstab-generator
. páginas de manual do systemd . freedesktop.org.systemd-gpt-auto-generator
. páginas de manual do systemd . freedesktop.org.fonte
Historicamente, a partição de troca é especificado em
/etc/fstab
com uma entrada de tiposwap
. Na inicialização, os processos de inicialização leem esse arquivo e enviam essa configuração para o kernel.Um exemplo da entrada em
/etc/fstab
é:Não estou familiarizado com como
systemd
gerencia a troca, mas acredito que o resultado final é o mesmo: um processo no espaço do usuário está ciente de qual espaço é alocado para a troca, e o processo no espaço do usuário informa o kernel.fonte
/etc/fstab
dosw
tipo de montagem, e não doswap
tipo VFS.systemd-gpt-auto-generator
.Todas as outras respostas mencionam como apontar para um sistema de arquivos swap na inicialização.
No entanto, vários pontos a serem adicionados às outras respostas:
mkswap
;swapon
;swapoff
.fonte