14 votos

Mac OS X no es la creación de un archivo de intercambio

Recientemente he comenzado a correr en una gran cantidad de problemas de memoria en mi mac con Alta Sierra. En lugar de la fuerza de cierre de la ventana de llegar, mi sistema de congelar por completo y la única forma de recuperar es forzar un reinicio.

Después de algunas investigaciones, me enteré de que mi sistema no es la creación de cualquier intercambio de archivos incluso cuando la presión de la memoria es fundamental. No hay nada en la /private/var/vm/ directorio.

Ya he intentado sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist.

Hay alguna otra forma de activar el intercambio? O para ejecutar los diagnósticos?

Detalles adicionales:

Estoy arrancando desde un externo Thunderbolt SSD (no sé si esta es la causa).

A continuación es el resultado de vm_stat. Si puedo hacer algo de memoria intensiva en esta etapa, mi sistema se congele.

Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free:                                4116.
Pages active:                            854231.
Pages inactive:                          825841.
Pages speculative:                        27754.
Pages throttled:                              0.
Pages wired down:                        606483.
Pages purgeable:                          22070.
"Translation faults":                  75731290.
Pages copy-on-write:                     401121.
Pages zero filled:                     49766457.
Pages reactivated:                     17690835.
Pages purged:                           1577284.
File-backed pages:                       503400.
Anonymous pages:                        1204426.
Pages stored in compressor:             6563399.
Pages occupied by compressor:           1875311.
Decompressions:                        21012443.
Compressions:                          32102441.
Pageins:                                2172708.
Pageouts:                                 35123.
Swapins:                                      0.
Swapouts:                                     0.

Editar:

Algunos detalles más:

Este es el resultado de diskutil ap list

APFS Container (1 found)
|
+-- Container disk4 6BE5FDB5-A68F-4CBF-A404-68AE73E61C10
    ====================================================
    APFS Container Reference:     disk4
    Capacity Ceiling (Size):      499898105856 B (499.9 GB)
    Capacity In Use By Volumes:   452259872768 B (452.3 GB) (90.5% used)
    Capacity Available:           47638233088 B (47.6 GB) (9.5% free)
    |
    +-< Physical Store disk3s2 39853349-6B62-4961-99DE-811BA56465EC
    |   -----------------------------------------------------------
    |   APFS Physical Store Disk:   disk3s2
    |   Size:                       499898105856 B (499.9 GB)
    |
    +-> Volume disk4s1 99688E85-E9EF-3688-A324-913D00FF6A0E
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk4s1 (No specific role)
    |   Name:                      System (Case-insensitive)
    |   Mount Point:               /
    |   Capacity Consumed:         449420767232 B (449.4 GB)
    |   FileVault:                 No
    |
    +-> Volume disk4s2 729366E4-48AA-45A3-95DA-8871B8A29778
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk4s2 (Preboot)
    |   Name:                      Preboot (Case-insensitive)
    |   Mount Point:               Not Mounted
    |   Capacity Consumed:         20357120 B (20.4 MB)
    |   FileVault:                 No
    |
    +-> Volume disk4s3 431C0191-2B1F-480C-94D0-AF4748E6D213
    |   ---------------------------------------------------
    |   APFS Volume Disk (Role):   disk4s3 (Recovery)
    |   Name:                      Recovery (Case-insensitive)
    |   Mount Point:               Not Mounted
    |   Capacity Consumed:         509820928 B (509.8 MB)
    |   FileVault:                 No
    |
    +-> Volume disk4s4 5DE0EA6B-CA57-4226-B038-2E256FCC5B98
        ---------------------------------------------------
        APFS Volume Disk (Role):   disk4s4 (VM)
        Name:                      VM (Case-insensitive)
        Mount Point:               Not Mounted
        Capacity Consumed:         2147504128 B (2.1 GB)
        FileVault:                 No

Y la salida de mount:

/dev/disk4s1 on / (apfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk2 on /Volumes/Storage (hfs, local, journaled)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)

4voto

klanomath Puntos 19587

El dedicado VM APF volumen no está montado correctamente:

+-> Volume disk4s4 5DE0EA6B-CA57-4226-B038-2E256FCC5B98
    ---------------------------------------------------
    APFS Volume Disk (Role):   disk4s4 (VM)
    Name:                      VM (Case-insensitive)
    Mount Point:               Not Mounted
    Capacity Consumed:         2147504128 B (2.1 GB)
    FileVault:                 No

Debe ser montado en el Punto de Montaje /private/var/vm.

Entrando mount en la Terminal debe revelar algo como:

...
/dev/disk4s4 on /private/var/vm (apfs, local, noexec, journaled, noatime, nobrowse)
...

La razón no está clara. Al menos algunos de intercambio de archivos han sido creados en el pasado, debido a los 2.1 GB (= dos swapfiles à 1 GiB) son consumidos por el VM.


Una solución temporal es para especificar otro archivo de intercambio de directorios. Después de la desactivación de la SIP, esto se puede lograr modificando el archivo /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist con sudo nano ... o LaunchControl.

Original:

<?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>

Mod:

<?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>
        <string>-F</string>
        <string>/vm/swapfile</string>
    </array>
</dict>
</plist>

Si el directorio /vm no existe, crearlo:

sudo mkdir /vm
sudo chmod 755 /vm

Reinicia tu Mac después. Habilitar SIP de nuevo!


En mi opinión esto está relacionado con el 10.13.3 Complementarios de Actualización. Al menos en mi distintos Alta Sierra VMs carpetas adicionales /vm fueron creados - que contengan cada uno abandonado swapfile0. El real de intercambio directorio es /private/var/vm -> disk1s4 (APF VM volumen), aunque a prueba con sudo memory_pressure -l critical en la Terminal.

Tengo que investigar más a fondo este.


Para realmente solucionar el problema de quitar y volver a agregar el roto de alguna manera VM APF volumen debe ayudar a:

  • Restaurar el valor predeterminado de com.apple.dynamic_pager.archivo plist
  • Compruebe si la carpeta /private/var/vm existe
  • Bota Alta de la Sierra Modo de Recuperación
  • Abre el Terminal en la barra de menús > Utilidades y escriba diskutil ap list para obtener la APF detalles
  • Quitar la APF VM volumen:

    diskutil ap deleteVolume <av_vmUUID> #<av_vmUUID>: UUID of the APFS Volume with the VM role
    

    En su caso av_vmUUID es 5DE0EA6B-CA57-4226-B038-2E256FCC5B98 así:

    diskutil ap deleteVolume 5DE0EA6B-CA57-4226-B038-2E256FCC5B98
    
  • Añadir un PASF VM volumen:

    diskutil ap addVolume diskX APFS VM -mountpoint /private/var/vm -role V
    

    con diskX: APF Contenedor de Referencia del contenedor con el UUID 6BE5FDB5-A68F-4CBF-A404-68AE73E61C10 se muestra en la diskutil ap list (probablemente disk3, disk4 o disk5)

    El volumen se crea pero no se montará debido a que el punto de montaje especificado no existe en el sistema de base de que el Modo de Recuperación!

  • Reinicia tu Mac y en primer lugar comprobar si VM está montado en /private/var/vm con mount. La prueba se con sudo memory_pressure -l critical.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X