Use o volume da VM APFS de outro disco

2
Haravikk 2019-11-18 12:02.

Devido ao triste fim da minha máquina principal, estou inicializando um sistema com muito menos capacidade de uma unidade externa para me manter ativo enquanto espero uma substituição. A própria máquina possui seu próprio drive interno. Tanto a unidade interna da máquina quanto minha unidade recuperada (agora externa) são formatadas como APFS e ambas têm o conjunto completo de volumes do sistema (pré-inicialização, recuperação e VM).

O problema é que, ao inicializar de uma unidade externa, o macOS deseja armazenar arquivos de swap nele, embora o desempenho seja ruim ao fazer isso, especialmente porque esta configuração de emergência tem muito menos RAM, tornando a troca muito mais provável.

O que eu gostaria de saber é; posso dizer ao macOS Mojave para montar o volume VM da unidade interna e usá-lo para arquivos de troca, em vez de usar o disco externo?

Uma curiosidade é que, embora a unidade externa tenha seu próprio volume VM (não que eu queira usá-lo), o macOS Mojave também não está utilizando isso, em vez disso, está armazenando arquivos de troca em /vm, em vez de montar o volume VM /private/var/vmnormalmente.

Caso seja mais fácil de visualizar, meus drives são assim, onde disk0é interno e disk2é externo, e foi retirado da minha máquina morta:

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         319.9 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +319.9 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            34.4 GB    disk1s1
   2:                APFS Volume Preboot                 41.8 MB    disk1s2
   3:                APFS Volume Recovery                507.4 MB   disk1s3
   4:                APFS Volume VM                      20.5 KB    disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                 Apple_APFS Container disk3         1000.0 GB  disk2s2

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk3
                                 Physical Store disk2s2
   1:                APFS Volume macOS                   102.5 GB   disk3s1
   2:                APFS Volume Preboot                 64.3 MB    disk3s2
   3:                APFS Volume Recovery                1.0 GB     disk3s3
   4:                APFS Volume VM                      20.5 KB    disk3s4
   5:                APFS Volume Users                   321.0 GB   disk3s5

Esclarecer; Não estou procurando desabilitar totalmente a troca, mas usar a unidade interna como o local do arquivo de troca. Na verdade, a troca é necessária na máquina mais antiga que estou usando, pois ela nunca foi usada para muito mais do que um media center e tem apenas 4 GB de RAM, que enche rapidamente!

3 answers

1
Haravikk 2019-11-19 05:32.

Acredito ter encontrado uma solução para isso graças a uma resposta a uma pergunta semelhante , o processo que é responsável pela troca de arquivos é /sbin/dynamic_pager, que é acionado por uma launchdtarefa encontrada em /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist. Uma vez que este arquivo está localizado /System, significa que esta solução requer que a Proteção da Integridade do Sistema seja desativada e, para Catalina, você precisará realizar as alterações do seu volume de recuperação.

O primeiro passo é fazer um backup do plist original:

cp /System/Library/com.apple.dynamic_pager.plist /System/Library/com.apple.dynamic_pager.plist.orig

Agora queremos modificar o comando que é executado. No original, será assim:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>EnableTransactions</key>
        <true/>
        <key>Label</key>
        <string>com.apple.dynamic_pager</string>
        <key>KeepAlive</key>
        <dict>
                <key>SuccessfulExit</key>
                <false/>
        </dict>
        <key>POSIXSpawnType</key>
        <string>Interactive</string>
        <key>ProgramArguments</key>
        <array>
                <string>/sbin/dynamic_pager</string>
        </array>
</dict>
</plist>

Modifiquei minha ProgramArgumentsseção para o seguinte:

        <key>ProgramArguments</key>
        <array>
                <string>/bin/bash</string>
                <string>-c</string>
                <string>diskutil mount -mountPoint /private/var/vm disk1s4 &amp;&amp; /sbin/dynamic_pager -F /private/var/vm/swapfile</string>
        </array>

Isso agora executa dois comandos, o primeiro para montar o volume interno da VM /private/var/vme o segundo é uma chamada modificada para dynamic_pagerdizer a ele para criar arquivos de swap no novo local.

NOTA : No meu caso, o volume da VM era disk1s4, e embora deva ser o caso para a maioria dos sistemas, você deve verificar diskutil listprimeiro e modificar o novo comando de acordo.

Para ativar as alterações, reinicie ou, se tiver certeza de que não está usando um arquivo de troca no momento, pode descarregar e recarregar a tarefa launchd imediatamente:

launchctl unload /System/Library/com.apple.dynamic_pager.plist
launchctl load /System/Library/com.apple.dynamic_pager.plist

A nova localização do arquivo de troca deve agora ser definida e, se necessário, você pode remover qualquer arquivo de troca restante (no meu caso em /vm).

ATUALIZAÇÃO: método mais simples

Ocorreu-me que pode haver uma solução mais simples para esse problema; uma vez que a tarefa de inicialização dinâmica de pager não fornece um local específico para arquivos de swap, parece que ela escolherá em ordem de preferência, /private/var/vmsendo preferencial se disponível. Para tanto, pode ser possível forçar o uso do volume VM da unidade interna da seguinte forma:

  1. Obtenha o UUID do volume VM ( diskutil info disk1s4)
  2. Corre sudo vifs
  3. Adicione uma linha como esta: UUID=9e2cd41c-1566-11ea-9237-ef9cfb4e0fac /private/var/vm apfs rw,nobrowse,uniontrocando o UUID do seu volume

Isso deve fazer com que seu sistema monte automaticamente o volume da VM em /private/var/vme, como isso ocorrerá antes da execução do pager dinâmico, ele deve ver e selecionar esse local, sem a necessidade de desativar o SIP ou editar seu daemon de inicialização.

0
Hefewe1zen 2019-11-18 12:43.

Você já pensou em desabilitar a troca? É possível através do comando nvram

sudo nvram boot-args="vm_compressor=2"

Seguido por uma reinicialização.

( tirado daqui )

0
user3115570 2019-12-18 01:47.

Acabei de entrar nisso, mas não consegui encontrar uma solução fácil, mas limpa para o problema devido à forma como construí meu equipamento:

Eu adicionei um SSD nele, mas também "espelhei" o SSD em uma partição no HDD para manter a máquina utilizável quando o SSD falhar (e ele irá falhar, acredite em mim).

Portanto, com várias instalações do Mojave no equipamento, obtive vários VMvolumes de vários sistemas de arquivos APFS.

Eu tentei todas as acrobacias desta página, mas não importa o que eu fizesse, sempre acabava com o meu /private/var/vmno SSD (definitivamente era um proibido).

Então eu desisti private/var/vm, criei um /private/var/swap, usei-o para montar o volune dedicado do HDD em /etc/fstabe instrumentado /System/Library/com.apple.dynamic_pager.plistpara usá-lo em seu lugar:

    <string>/sbin/dynamic_pager -F /private/var/swap/swapfile</string>

Bem. Está funcionando. :)

Related questions

MORE COOL STUFF

Cate Blanchett dormiu com o marido depois de 3 dias juntos e ainda está casada com ele 25 anos depois

Cate Blanchett dormiu com o marido depois de 3 dias juntos e ainda está casada com ele 25 anos depois

Cate Blanchett desafiou os conselhos típicos de namoro quando conheceu o marido.

Por que Michael Sheen é um ator sem fins lucrativos

Por que Michael Sheen é um ator sem fins lucrativos

Michael Sheen é um ator sem fins lucrativos, mas o que exatamente isso significa?

Hallmark Star Colin Egglesfield Pratos Emocionantes Encontros de Fãs no RomaDrama Live! [Exclusivo]

Hallmark Star Colin Egglesfield Pratos Emocionantes Encontros de Fãs no RomaDrama Live! [Exclusivo]

A estrela da Hallmark Colin Egglesfield falou sobre emocionantes encontros com fãs no RomaDrama Live! além de seu programa INSPIRE na convenção.

Por que você não pode transmitir 'Exposição do Norte' online

Por que você não pode transmitir 'Exposição do Norte' online

Você terá que tirar o pó de um Blu-ray ou DVD player para ver por que Northern Exposure se tornou um dos programas mais populares dos anos 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

Como a matéria branca ajuda a função da matéria cinzenta do cérebro

Como a matéria branca ajuda a função da matéria cinzenta do cérebro

Todos nós já ouvimos falar da massa cinzenta do cérebro, mas e a massa branca? O que isso faz?

Doe seu cabelo para ajudar a manter nossa água limpa

Doe seu cabelo para ajudar a manter nossa água limpa

Aparas de cabelo de salões e doações pessoais podem ser reaproveitadas como tapetes que absorvem derramamentos de óleo e ajudam a proteger o meio ambiente.

Um olhar sobre os casamentos mais memoráveis ​​da Casa Branca

Um olhar sobre os casamentos mais memoráveis ​​da Casa Branca

Apenas algumas pessoas se casaram na Casa Branca nos últimos 200 anos. Quem eram eles e o que é necessário para marcar um casamento lá?

Os carros autônomos estarão nas estradas em 2020, mas as cidades dos EUA não estarão prontas para eles

Os carros autônomos estarão nas estradas em 2020, mas as cidades dos EUA não estarão prontas para eles

Embora pelo menos sete programas de automóveis autônomos jurem que estarão prontos para as ruas em 2020, a verdade é que as cidades dos EUA estão lamentavelmente despreparadas para essa realidade. Apenas 6% das maiores cidades dos Estados Unidos incluem qualquer linguagem sobre veículos autônomos em seus planos de transporte de longo alcance.

Aqui está a sua fantasia de 'Este é o melhor que eu poderia fazer' Jurassic World Halloween

Aqui está a sua fantasia de 'Este é o melhor que eu poderia fazer' Jurassic World Halloween

Em vez de esperar até o último minuto possível para decidir sobre uma fantasia este ano, por que não pedir este traje T-rex inflável Jurassic World na Amazon um dia antes do Halloween e aumentar um pouco o seu jogo de fantasias - mas não muito. Uma bateria incluída - A bomba operada mantém o traje de $ 70 inflado enquanto você está escondido dentro, e a cauda longa garante que você será a ruína de qualquer festa de Halloween, porque toda vez que você se virar, estará derrubando bebidas e doces das mesas.

Por que os jogadores de Destiny se sentem perdidos

Por que os jogadores de Destiny se sentem perdidos

Esta semana, uma tempestade de raiva envolveu a comunidade de Destiny. Esta tempestade em particular foi provocada por uma coisa específica que aconteceu na semana passada.

Um escândalo muito inglês resolverá um caso chocante de divórcio em 1963

Um escândalo muito inglês resolverá um caso chocante de divórcio em 1963

O duque e a duquesa de Argyll no casamento Recém-conquistado no Globo de Ouro, Um escândalo muito inglês está sendo expandido para uma série de antologia. Em seguida, eles abordarão o divórcio de 1963 do duque e da chamada duquesa "suja" de Argyll, que deve fornecer um território extremamente rico para uma reavaliação com olhos modernos.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Carne de porco Mapo de Dawn Burrell e homus de Edamame

Carne de porco Mapo de Dawn Burrell e homus de Edamame

"Esta é uma indústria dominada por homens, e estou feliz por ser uma das pessoas que quebrou o molde para ajudar as mulheres de cor", diz Top Chef: finalista de Portland e chef-parceiro do final de agosto em Houston. "Muitas vezes somos ignorados e às vezes não ensinados, mas isso vai mudar."

Kate Middleton passa um dia à beira da água em Londres, além de Jennifer Lopez, Julianne Hough e mais

Kate Middleton passa um dia à beira da água em Londres, além de Jennifer Lopez, Julianne Hough e mais

Kate Middleton passa um dia na água em Londres, além de Jennifer Lopez, Julianne Hough e muito mais. De Hollywood a Nova York e em todos os lugares, veja o que suas estrelas favoritas estão fazendo!

Jovem de 17 anos esfaqueado até a morte enquanto outros 4 ficaram feridos em um ataque de faca no rio Wisconsin

Jovem de 17 anos esfaqueado até a morte enquanto outros 4 ficaram feridos em um ataque de faca no rio Wisconsin

Investigadores estão investigando se o grupo e o suspeito se conheciam antes do ataque

Como eu escrevo

Como eu escrevo

Para mim, tudo é sobre aquela primeira linha e onde ela te leva. Alguns escritores são movidos pelo enredo, pelo delicado arranjo das peças de xadrez, enquanto outros são atraídos por um personagem e pela capacidade de viajar com um novo amigo fictício.

Aterrissagens na pista

Aterrissagens na pista

O final do verão e o outono são estações nostálgicas. Os postes de luz lançam sua luz sobre as ruas escorregadias pela chuva, e as folhas sob os pés – vermelho-alaranjado nas sombras do crepúsculo – são um lembrete de dias passados.

Imagine criar uma estratégia de conteúdo que realmente CONVERTE. É possível.

Imagine criar uma estratégia de conteúdo que realmente CONVERTE. É possível.

Em 2021, encorajo você a repensar tudo o que sabe sobre os clientes que atende e as histórias que conta a eles. Dê um passo para trás.

Uma perda gigantesca abriu meu coração para o amor

Uma perda gigantesca abriu meu coração para o amor

No dia do aniversário de 9 anos de Felix The Cat, lembro-me de uma das maiores perdas da minha vida adulta – minha Sophie em 2013. Escrevi este ensaio e o compartilhei brevemente nesta plataforma em 2013.

Language