Hace poco comencé a tener muchos problemas de memoria en mi Mac que ejecutaba High Sierra. En lugar de que se cierre la ventana de forzar la salida, mi sistema se congelaría completamente y la única manera de recuperarse es forzar un reinicio.
Después de investigar un poco, descubrí que mi sistema no está creando ningún archivo de intercambio, incluso cuando la presión de la memoria es crítica. No hay nada en el /private/var/vm/
directorio.
Ya lo he intentado sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
.
¿Hay alguna otra manera de habilitar el intercambio? ¿O para ejecutar algunos diagnósticos?
Detalles adicionales:
Estoy arrancando desde un SSD externo Thunderbolt (no sé si esta es la causa).
A continuación se muestra la salida de vm_stat
. Si hago algo de memoria intensiva en esta etapa, mi sistema se congelará.
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:
Esta es la salida 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)
Solución (actualizada): Una serie de buenas soluciones sugeridas. Después de volver a revisar el problema, recomendaría la solución de pelusa a continuación. Es la forma más general que tiene en cuenta los cambios en los nombres de volúmenes.
fuente
Respuestas:
He tenido el mismo problema al ejecutar High Sierra (y Mojave desde entonces) desde un SSD externo. No he probado la sugerencia de Glorfindel ♦ de limpiar el disco de Sierra en HFS + antes de restaurar en High Sierra, lo que parece mucho trabajo.
Sin embargo, he estado usando mi propio demonio de lanzamiento con un script bash desde enero, similar a la solución de chrisgooley, sin embargo, mi script también comprueba qué ID de volumen se debe montar. Pensé que compartiría mi solución con la verificación dinámica para el ID de volumen correcto.
Inicialmente, también codifiqué el ID de volumen, pero esto era problemático porque cada vez que el sistema arrancaba con unidades adicionales conectadas, el ID de volumen cambiaría y el volumen de intercambio no se montaría.
Mi script y mi demonio están abajo:
mountvm.sh
com.local.mountvm.plist
Algunas notas:
Cambie la [/ ruta / a / script] en el plist a donde quiera que coloque el script bash.
Elimine el # en las líneas de eco en la secuencia de comandos de bash para solucionar el problema (deberá ejecutar la secuencia de comandos en Terminal con sudo o especificar una ruta de salida estándar en la lista).
El script comprueba si existe / private / var / vm / sleepimage. Si no lo hace, entonces el volumen de intercambio no está montado e intenta montar el volumen correcto. Si lo hace, comprobará de nuevo cuatro veces más en intervalos de dos minutos antes de salir. La razón por la que agregué esto fue porque descubrí que si simplemente intentaba montar el volumen tan pronto como se cargaba el demonio, fallaría.
fuente
Tuve el mismo problema cuando instalé High Sierra en un SSD externo.
Solución :
Cree un archivo plist como usuario root y póngalo en
/Library/LaunchDaemons/
carpeta. Tiene que estar escrito en notación de dominio inverso como este:Solo copie estos datos xml en su archivo plist y cambie el nombre de APFS VM Volume con el suyo.
En mi caso se parece a esto:
Reinicia tu Mac
fuente
El volumen de VM APFS dedicado no se monta correctamente:
Debe ser montado en el Punto de montaje / privado / var / vm.
Entrando
mount
en la terminal debería revelar algo como:La razón no está clara. Al menos algunos archivos de intercambio se crearon en el pasado porque la máquina virtual consume 2.1 GB (= dos archivos de intercambio a 1 GiB).
Una solución temporal Es especificar otro directorio de archivo de intercambio. Después deshabilitando SIP , esto se puede lograr modificando el archivo. /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist con
sudo nano ...
o Control de lanzamiento .Original:
Mod:
Si el directorio / vm no existe, créelo:
Reinicie su Mac después. Habilitar SIP de nuevo!
En mi opinión, esto está relacionado con la Actualización complementaria 10.13.3. Al menos en mis varias carpetas adicionales de High Sierra VM / vm fueron creados - cada uno conteniendo un swapfile0 abandonado. El directorio de intercambio real es / private / var / vm - & gt; disk1s4 (volumen de máquina virtual APFS) aunque - probado con
sudo memory_pressure -l critical
en la terminal.Tengo que seguir investigando esto.
Para solucionar realmente el problema, eliminar y volver a agregar el volumen de VM APFS roto de alguna manera podría ayudar:
diskutil ap list
para obtener los detalles de APFSElimine el volumen de la máquina virtual APFS:
En su caso, av_vmUUID es 5DE0EA6B-CA57-4226-B038-2E256FCC5B98 así que:
Agregue un volumen de VM APFS:
con diskX: Referencia de contenedor APFS del contenedor con el UUID 6BE5FDB5-A68F-4CBF-A404-68AE73E61C10 que se muestra en
diskutil ap list
(probablemente disk3, disk4 o disk5)El volumen se creará, pero no se montará porque el punto de montaje especificado no existe en el sistema base del Modo de recuperación.
mount
. La prueba consudo memory_pressure -l critical
.fuente
Tengo el mismo problema después de la actualización. A mi manera, simplemente está borrando el contenedor APFS y luego utilizando Time Machine para restaurar Sierra con HFS + y luego restaurar High Sierra con particiones APFS. A continuación están mis configuraciones que lo hacen funcionar.
fuente
Tengo exactamente los mismos síntomas. Instalé High Sierra 10.13.4 en un SSD externo de APFS recién formateado y formateado. El Monitor de actividad no muestra espacio de intercambio, y
diskutil apfs list
muestra que la partición de VM no está montada, tal como se muestra arriba. He estado recibiendo pánicos repetidos cuando me quedo sin memoria (mi computadora solo tiene 4 GB de RAM).Mi solución, que aún no he probado, es hacer un clon de Carbon Copy del disco externo, luego borrarlo y reformatearlo (usando el comando "Partición" de la Utilidad de Disco) como Mac OS Extended (Journaled), y luego restaurar utilizando CCC. Esto debería devolverme mi VM.
fuente
Me encontré con este problema cuando actualicé a Mojave. Mi sistema operativo está instalado en un SSD externo. Mi solución terminó siendo similar a la de Michael Golban, pero necesitaba un comando adicional.
Terminé escribiendo un pequeño script de bash y cargándolo con un LaunchDaemon.
/usr/local/sbin/mount_swap.sh
com.local.mountswap.plist
Tan pronto como se ejecutaran estos comandos durante la prueba, la línea "Swap Used" en el Monitor de actividad comenzaría a mostrar valores positivos.
fuente
También estoy en esta situación, arrancando desde un Samsung T5 SSD conectado a USB3. Intenté la solución de pelusa, sin embargo en mi caso el comando
genera dos respuestas, ya que tanto el disco duro interno como el SSD externo contienen una partición de intercambio (VM). No puedo encontrar una solución para este problema (automatizar el proceso de montaje en el arranque) por mi cuenta, ¿puede alguien ayudarme?
fuente
Mac OSX High Sierra es un derivado de Linux, y muchos sistemas operativos de Linux recomiendan desactivar el intercambio cuando se instala en un SSD, ya que el tipo de almacenamiento utilizado en una partición de intercambio supone una gran carga para los medios magnéticos del SSD de una manera potencialmente destructiva. Por lo tanto, supongo que High Sierra desactiva el espacio de intercambio en ssds como estándar. Mi opción preferida es instalar el espacio de intercambio en una unidad tradicional separada.
https://askubuntu.com/questions/652337/why-no-swap-partitions-on-ssd-drives
fuente