AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1824171
Accepted
user149408
user149408
Asked: 2024-01-04 02:58:46 +0800 CST2024-01-04 02:58:46 +0800 CST 2024-01-04 02:58:46 +0800 CST

dphys-swapfile no volume btrfs falha

  • 772

Eu usei dphys-swapfile com o caminho padrão /var/swape um arquivo de troca de 2048M.

Porém, como /var/swapestá em um cartão SD, eu queria mover o arquivo de troca para um disco magnético. Então executei sudo dphys-swapfile swapoff, editei o caminho e executei:

sudo dphys-swapfile setup
sudo dphys-swapfile swapon

Este último falhou com:

swapon: /srv/file/swap: swapon failed: Invalid argument

sudo journalctl -xeme dá:

kernel: swapon: swapfile has holes

Só para ter certeza, tentei o seguinte, sem sucesso:

  • Exclua o novo arquivo de troca e recrie-o comsudo dphys-swapfile setup
  • Copie o arquivo de troca antigo para o novo local
  • sudo dd if=/dev/zero of=/srv/file/swap bs=1024 count=2097152 status=progress(zere todo o arquivo de troca, bs * countsendo igual ao tamanho do arquivo de troca – desta vez o erro que recebi foi que o arquivo de troca tinha um cabeçalho inválido
  • ddo arquivo de troca antigo sobre o zerado – novamente resultou em uma reclamação sobre falhas no arquivo

A única diferença entre o caminho antigo e o novo para o arquivo de troca é que o caminho antigo está em um sistema de arquivos ext4 enquanto o novo está em btrfs. (Além do caminho antigo estar em um cartão SD e o novo estar em um disco magnético, embora eu duvide que isso faça alguma diferença.)

Por alguma razão, o arquivo de troca no ext4 parece ter sido criado sem falhas ou dphys-swapfileaceita falhas no ext4. Como posso obter o mesmo resultado no btrfs? (Ou estou tendo um problema diferente do que penso?)

O sistema operacional é Raspbian Linux 9 (eu sei, é antigo), dphys-swapfile é a versão 20100506-3.

linux
  • 1 1 respostas
  • 17 Views

1 respostas

  • Voted
  1. Best Answer
    user149408
    2024-01-06T03:41:28+08:002024-01-06T03:41:28+08:00

    Alguns conceitos em torno dos quais o btrfs foi construído não funcionam bem com arquivos de troca (imagine criar um instantâneo somente leitura de um arquivo de troca). Resolver isso requer alguma lógica extra, que só foi adicionada no kernel 5.0. Com um sistema operacional tão antigo quanto o em questão, existem duas opções básicas:

    Opção 1: atualize para um sistema operacional mais recente com kernel 5.0 ou posterior e proceda como em https://superuser.com/a/1442752/432690 . Embora geralmente seja recomendado executar um sistema operacional atualizado, uma atualização precisa ser planejada e pode não ser uma vitória rápida.

    Opção 2: Reparticione o HD para liberar espaço para uma partição swap e use-a. Isso é mais fácil do que uma atualização do sistema operacional, ao mesmo tempo que é mais limpo e menos complicado no longo prazo.

    Com o sistema de arquivos btrfs montado, faça:

    sudo btrfs filesystem resize -512g /mnt/btrfs
    

    (isso reduzirá o tamanho do sistema de arquivos em 512 GB, ajuste conforme necessário. Você deseja reduzir o FS um pouco mais do que o espaço necessário para a nova partição, redimensionar a partição e aumentar novamente o btrfs para preencher a partição redimensionada novamente .)

    sudo umount /mnt/btrfs
    

    Redimensione a partição btrfs (por exemplo, usando parted) e crie uma partição swap depois dela. Então,

    sudo mount /mnt/btrfs
    sudo btrfs filesystem resize max /mnt/btrfs
    

    Adicione a seguinte linha /etc/fstab(assumindo que /dev/sda2seja sua partição swap):

    /dev/sda2    swap    swap    defaults    0    0
    

    Então faça:

    sudo mkswap /dev/sda2
    sudo dphys-swapfile swapoff
    sudo dphys-swapfile uninstall
    sudo update-rc.d dphys-swapfile remove
    sudo apt purge dphys-swapfile -y
    sudo swapon -a
    

    Verifique se o espaço de troca está disponível e se a partição de troca é usada executando free -he sudo swapon --show. freedeve mostrar mais que zero espaço de troca total e swapondeve mostrar apenas a partição de troca, sem mais arquivos de troca. Reinicie e execute novamente free -he sudo swapon --showpara garantir que o espaço de troca esteja habilitado na inicialização.

    Esta é a opção que funcionou para mim.

    • 0

relate perguntas

  • Como eu faria minha máquina Linux parecer que está executando o Windows?

  • Existe um equivalente a cd - para cp ou mv?

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve