1 votos

¿Cómo mantener /privado/tmp en una unidad RAM con Big Sur y Monterrey+?

¿Cómo se configura /private/tmp en una unidad RAM con Big Sur y Monterrey+?

A continuación explicaré algunas de mis preocupaciones, pero mi pregunta es simplemente esa. Aparentemente algunos han entendido mal y han pensado que quiero una explicación de por qué no es necesario hacerlo, pero en mi caso sí es necesario hacerlo y simplemente quiero hacerlo, especialmente porque opero sin SIP habilitado.

Reducir el desgaste de las unidades de estado sólido parece ser cada vez más importante a medida que vemos aumentar el uso de las SSD. Con los nuevos MacBook Pros (2016 en adelante) y ahora los mucho más caros MacBook Pros 2021 (MacBookPro18,1-4), a algunos nos saltan las alarmas para intentar reducir el desgaste de la caché cuando sea posible.

Por ejemplo, creo que es conveniente comprar los modelos de 64 GB no por el rendimiento, sino para dar al sistema operativo y a las aplicaciones más espacio para que se produzcan menos intercambios y uso del disco duro.

En esta misma línea de pensamiento, me parece que una unidad de 4gb u 8gb o incluso 16gb de RAM podría ser útil para reemplazar /private/tmp y cualquier uso de archivos temporales si uno desarrolla software, juegos o requiere escrituras/escrituras frecuentes y pesadas en la unidad.

La memoria caché para fs rw tampoco suele ser efectiva en los escenarios que he visto.

Como habrás notado, originalmente pregunté esto también, pero esto es secundario al "cómo" y por lo tanto reconozco haber cometido un error de poner esencialmente dos preguntas en una, pero dejaré esto aquí ya que responde por qué obtuve la respuesta actual más votada abajo:

¿Alguien ha pensado o estudiado esto para ver qué tipo de carga reduce de la unidad de almacenamiento?

¿Y alguien tiene un método sólido para crear y montar una unidad RAM de tal manera que esté en uso justo en el arranque del sistema? (por ejemplo, solíamos ser capaces de poner cosas como esta en RC y todavía podríamos hacerlo si somos capaces de montar el volumen RW de root después de deshabilitar SIP parece).

8voto

Jose Chavez Puntos 645

ACTUALIZACIÓN : La pregunta fue cambiada para centrarse específicamente en cómo crear un disco RAM en Big Sur/Monterey. Puedes hacerlo abriendo el Terminal y ejecutando el siguiente comando:

diskutil erasevolume HFS+ 'ramtmp' `hdiutil attach -nobrowse -nomount ram://8388608`

Esto creará un disco de 4 GB de RAM que estará disponible en /Volumes/ramtmp . Ahora puedes configurar tu compilador para que utilice esa carpeta para los archivos temporales.

Si para usted es importante que sea el /private/tmp que lleva al disco RAM, puedes configurarlo manualmente usando algunos comandos como este:

hdid -nomount ram://8388608
newfs_hfs -v tmp /dev/rdiskX
diskutil mount -mountPoint /private/tmp /dev/diskX

(donde X debe ser sustituida en ambos comandos por el número emitido por el comando hdid)

Todavía dudo mucho que tenga un impacto real en el desgaste de tu SSD a largo plazo.

En los comentarios escribes que te diriges específicamente al caso de uso de "compilación de compiladores y grandes proyectos". Como no has dado más detalles, es difícil saber si te refieres a yacc, SableCC o algún otro compilador, y a qué te refieres exactamente con proyectos grandes.

Sin embargo, cuando uso compiladores, o simplemente en general compilar grandes proyectos utilizando clang o Xcode, no encuentro que /private/tmp es "golpear mucho". Para los proyectos de Xcode me parece más bien que el DerivedData se utiliza mucho la carpeta ( ~/Library/Developer/Xcode/DerivedData/ ). Tiene más sentido poner eso en un disco RAM, no para reducir el desgaste, sino para optimizar el rendimiento. Puedes encontrar programas existentes que facilitan esa parte - incluyendo el montaje automático después del arranque:

https://github.com/ikiapps/Setup-Xcode-Derived-Data-RAM-Disk

RESPUESTA ANTIGUA :

Creo que las alarmas son infundadas. No hay ninguna razón para creer que el uso de las unidades SSD esté aumentando (sea lo que sea que eso signifique) ahora a un ritmo mayor que hace 5 años, por ejemplo, o que esto signifique que los jugadores, usuarios o desarrolladores comunes deban buscar sus propias formas de reducir el desgaste de las unidades SSD.

Por el contrario, con el paso de los años, las unidades SSD se han hecho más grandes y tienen un mejor firmware. Unas unidades SSD de mayor capacidad significan que la nivelación del desgaste es más fácil. Una mayor información del sistema operativo al firmware interno de la SSD también significa que la nivelación del desgaste es más fácil.

Todo esto significa que, aunque el "uso" pueda aumentar, las unidades SSD rara vez son el primer componente de hardware de su componente que falla, y fallar debido a demasiadas escrituras es aún menos probable. Recuerde también que un fallo de este tipo es en realidad uno de los pocos fallos de hardware que tienen pocas repercusiones, es decir, la unidad pasa a ser de "sólo lectura" y a menudo puede copiar los datos a una unidad externa sin perder nada.

Adquirir la cantidad de RAM adecuada para su carga de trabajo específica es siempre una buena idea. Si tienes mucho intercambio de entrada y salida, el rendimiento suele deteriorarse tanto que el sistema se convierte en un lastre a ojos de casi todo el mundo. Esto también desgasta un poco el SSD. En ese caso, lo que realmente quieres es un extra de RAM.

Sin embargo, si sólo se trata de fugas de memoria (como es el caso de muchos), el intercambio se vuelve unilateral y no afecta al rendimiento en la misma medida. También significa que casi no hay desgaste práctico para el SSD.

/private/tmp se utiliza normalmente para archivos temporales de corta duración creados por las aplicaciones, y para pequeños archivos de larga duración creados por demonios, como tuberías con nombre, archivos pid y sockets de dominio unix. En cualquier caso, estos suelen ser de "escritura única, lectura única". Dudo que se consiga una reducción real de tales "escrituras/reescrituras pesadas" para las aplicaciones ordinarias de MacOS (incluso para el desarrollo de software y los juegos) trasladándolas a un disco RAM. En lugar de eso, te arriesgas a que los programas empiecen a fallar si el disco RAM se queda sin espacio. Recuerde también que estos archivos temporales siguen siendo almacenados en la caché del sistema de archivos habitual, por lo que tienen la posibilidad de existir en la RAM, si el sistema operativo así lo decide.

Conseguir que un disco RAM funcione bien en el arranque para este escenario en particular no es realmente tan interesante. Si tienes escrituras pesadas ocurriendo todo el tiempo, los pocos segundos durante el arranque son sólo una gota en el océano - y realmente no importa que el disco RAM sólo se establezca después del arranque.

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