Cómo utilizar completamente la RAM para aumentar el rendimiento general del sistema

18

Tengo una máquina de bajo perfil pero con mucha RAM rápida, 4 Gb, que es realmente una cantidad de memoria que probablemente nunca usaré, ni siquiera la mitad, ya que solo uso esta máquina para codificar y navegar por la web.

El HDD es realmente lento y, por lo tanto, el rendimiento general es malo al arrancar, almacenar en caché o iniciar un nuevo programa. Me pregunto si Ubuntu puede proporcionar alguna configuración o utilidad para resolver esta situación y permitir que mi sistema confíe más en el uso de RAM.

usuario1717079
fuente
1
La RAM libre ya debería usarse para el almacenamiento en caché, que es el comportamiento predeterminado. Sin embargo, los datos aún deben leerse desde el disco duro relativamente lento primero, y la única forma de acelerarlo es usar uno más rápido o un SSD. Lo siento, no hay magia hoy. PD: Ubuntu usa ureadaheadpara perfilar el proceso de arranque y hacerlo lo más rápido posible.
mikewhatever
2
Además, 4GB no es mucho en una máquina moderna. Los sitios web modernos están llenos de javascript complejo y tienen muchos datos, lo que puede hacer que el navegador web consuma memoria con bastante rapidez. Muchas veces he visto a Firefox acercarse a varios GB de uso de memoria residente.
dobey
@dobey en mi experiencia javascript requiere más CPU que RAM.
user1717079

Respuestas:

11

Debes instalar Preload, que precargará el software que más utilizas en tu RAM (aprenderá qué software precargar solo). Eso es muy fácil de configurar:

sudo apt-get install preload

Probablemente no necesite tocarlo, pero si lo desea, puede editar las opciones en /etc/preload.conf

Ugo
fuente
También noté la existencia de esta utilidad de preenlace, lo intentaré, gracias.
user1717079
2
@ user1717079 - Tenga en cuenta que Preload no acelerará los tiempos de arranque, y la mayoría del almacenamiento en caché ya debe realizarse en la RAM.
Shauna
1
La precarga no acelerará ni el arranque ni los procesos de almacenamiento en caché, ya que dependen en gran medida de la velocidad del disco duro.
mikewhatever
mientras estamos en el tema del preenlace, el preenlace no da ningún aumento notable en el rendimiento, vea smackerelofopinion.blogspot.co.uk/2009/06/…
Colin Ian King
@ColinIanKing estaré contento si solo pudiera darme una pequeña ventaja en términos de rendimiento, los tiempos de arranque no son tan malos, el problema es que generalmente es lento o lleva demasiado tiempo cargar un nuevo programa. Voy a usar preload y prelink durante algunos días, veamos si las cosas cambian
user1717079
10

Puede agregar la siguiente línea /etc/fstabpara montar su /tmpdirectorio en la RAM.

tmpfs / tmp tmpfs por defecto, noatime, nodiratime, mode = 1777 0 0

Esto también se puede hacer con otros directorios. Por ejemplo, cuando está compilando su código, puede colocar la carpeta donde se colocan los archivos de objetos y se vinculan a la RAM.

Pero presta atención. Los datos en carpetas que se montan de esta manera se perderán en cualquier caso de apagado. Ten eso en mente.

Además de mi conocimiento, hay muchos otros recursos útiles disponibles sobre este tema. Por ejemplo este hilo .

cauon
fuente
gracias, pero un ramdisk es algo ligeramente diferente, pero agradezco su sugerencia porque será útil más adelante. Mi gran problema ahora es cómo ejecutar mis aplicaciones más rápido, no cómo hacer que mi sistema de archivos sea más rápido.
user1717079
Sí, pero me pareció digno de mención porque tienes 4 GB de RAM y usar carpetas de RAM mejoraría tu experiencia de navegación si le dices a Firefox que las use para caché y otras cosas.
cauon
6

¿Qué es la RAM?

RAM, o memoria de acceso aleatorio, es un tipo de sistema de almacenamiento conocido como almacenamiento volátil . Es decir, solo contiene datos mientras tiene energía. En otras palabras, cualquier cambio que realice, si no lo escribe en un dispositivo de almacenamiento persistente, se perderá en cualquier momento que la RAM pierda energía.

¿Qué es un disco duro?

Los discos duros, o unidades de disco (o unidades de disco duro), son un tipo diferente de sistema de almacenamiento conocido como almacenamiento persistente . Esto significa que los datos se mantienen incluso cuando se les priva del poder. Los CD, DVD, disquetes y memorias USB también se incluyen en esta categoría.

¿Qué sucede cuando inicio, escribo en caché o inicio nuevos programas?

Para mantener su sistema entre reinicios, el sistema operativo tiene que escribir lo que tiene en la RAM en un dispositivo de almacenamiento persistente, generalmente el disco duro primario. Por el contrario, para restaurar esa información o iniciar aplicaciones, debe cargar esos datos en la RAM desde el dispositivo de almacenamiento. Esto incluso sucede con los CD en vivo, aunque todo se está ejecutando en la memoria, primero tiene que leer todo desde el CD (o unidad USB). También sucede incluso con las herramientas / ideas que Cauon y Ugo han sugerido, porque en algún momento u otro, los datos deben leerse o escribirse en un disco para que persistan entre los inicios (específicamente Preload no mejorará el tiempo de inicio ).

Si tiene RAM rápida, entonces su cuello de botella estará en algún lugar del proceso de lectura desde / escritura en el disco, generalmente en la velocidad de la conexión de datos o la velocidad de la unidad.

¿Qué puedo hacer para mejorar la velocidad de estas operaciones?

Para mejorar la velocidad de las tres operaciones mencionadas, deberá realizar algunas actualizaciones de hardware.

Obtén una conexión más rápida. Las conexiones paralelas ATA (PATA, la cinta gris en máquinas más antiguas) serán más lentas que las conexiones SATA (Serial ATA, los cables más nuevos y más pequeños). Si puede y aún no lo ha hecho, actualice a una unidad SATA. Si va por la ruta de la unidad USB (descrita a continuación), asegúrese de estar usando una unidad y puerto USB 2.0 (o, mejor aún, velocidad, 3.0) . Los dispositivos y puertos USB registrarán la velocidad de la cosa más lenta, por lo que incluso si tiene un puerto 3.0, si el dispositivo es 2.0, solo obtendrá velocidades de 2.0.

Obtenga un dispositivo de almacenamiento más rápido. Los discos duros basados ​​en platos se miden en RPM y generalmente vienen en tres velocidades: 5400 rpm, 7200 rpm y 10k rpm. Si tiene una unidad de 5400 rpm, actualice al menos a 7200. Además, las unidades de estado sólido (incluidas las unidades de memoria USB) son más rápidas que las unidades basadas en disco. Si puede permitírselo, actualice a una unidad de estado sólido. Alternativamente, puede instalar Ubuntu en una unidad USB y ejecutarlo desde allí (tenga en cuenta, sin embargo, que dicha configuración se limitará a la velocidad de su puerto USB, así que asegúrese de usar al menos un puerto USB 2.0 y conducir).

Shauna
fuente
1

pruebe zram (una vez llamado compcache), ¡es un intercambio comprimido en la memoria!

el paquete para ubuntu 12.10 es zram-config, no es necesario arrancar.

swapon -s mostrará algo como:

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1023860 0       -1
/dev/sdc4                               partition       976892  0       -2
/dev/zram0                              partition       761876  0       5
/dev/zram1                              partition       761876  0       5
/dev/zram2                              partition       761876  0       5
/dev/zram3                              partition       761876  0       5

Tengo 6 GB de RAM y 4 CPU de núcleo, ¡así que un intercambio por cada núcleo con la mitad en total de la memoria RAM! (por una buena razon)

¡Lea lo que dice ppl sobre compcache y zram!

bueno, si no se usa zram, arranque o intente, IYKWYAD (si sabe lo que está haciendo), cámbielos, para ver los zram llenados y mejorar el rendimiento general.

Poder de acuario
fuente
por cierto, mi configuración actual tiene cada uno de mis intercambios de zram (para cada núcleo) con 250 MB, por lo que un total de 1 GB para 4 núcleos. Descubrí que funciona mejor que permitir que zram use la mitad (3GB) de mi memoria total, creo que es porque cambiará menos a los discos duros / ssd si permito que algunas aplicaciones con mucha memoria usen más de la memoria real. También cierro muchas otras aplicaciones hambrientas de memoria que realmente no se necesitan para ejecutarse todo el tiempo.
Acuario Power