Comment utiliser pleinement la RAM pour augmenter les performances globales du système

18

J'ai une machine à profil bas mais avec beaucoup de RAM rapide, 4 Go, ce qui est vraiment une quantité de mémoire que je n'utiliserai probablement jamais, pas même la moitié, car j'utilise simplement cette machine pour coder et naviguer sur le Web.

Le disque dur est vraiment lent et donc les performances globales sont mauvaises lors du démarrage, de la mise en cache ou du démarrage d'un nouveau programme, je me demande si Ubuntu peut fournir un paramètre ou un utilitaire pour résoudre cette situation et laisser mon système s'appuyer davantage sur l'utilisation de la RAM.

user1717079
la source
1
La RAM libre doit déjà être utilisée pour la mise en cache, qui est le comportement par défaut. Cependant, les données doivent toujours être lues à partir du disque dur relativement lent en premier, et la seule façon d'accélérer cela est d'utiliser un disque plus rapide ou un disque SSD. Désolé, pas de magie aujourd'hui. PS: Ubuntu utilise ureadaheadpour profiler le processus de démarrage et le rendre aussi rapide que possible.
mikewwhat
2
De plus, 4 Go, ce n'est pas beaucoup sur une machine moderne. Les sites Web modernes sont remplis de javascript complexe et contiennent beaucoup de données, ce qui peut entraîner une consommation de mémoire assez rapide pour le navigateur Web. J'ai souvent vu Firefox approcher plusieurs Go de mémoire résidente.
dobey
@dobey d'après mon expérience, javascript nécessite plus de CPU que de RAM.
user1717079

Réponses:

11

Vous devez installer Preload qui préchargera le logiciel que vous utilisez le plus dans votre RAM (il apprendra quel logiciel précharger par lui-même). C'est très simple à configurer:

sudo apt-get install preload

Vous n'avez probablement pas besoin de le toucher, mais si vous le souhaitez, vous pouvez modifier les options dans /etc/preload.conf

Ugo
la source
j'ai également remarqué l'existence de cet utilitaire de pré-lien, je vais essayer cela, merci.
user1717079
2
@ user1717079 - Gardez à l'esprit que le préchargement n'accélérera pas vos temps de démarrage, et la plupart de la mise en cache doit déjà être effectuée dans la RAM.
Shauna
1
Le préchargement n'accélère ni le démarrage ni les processus de mise en cache, car ils dépendent fortement de la vitesse du disque dur.
mikewwhat
alors que nous sommes sur le sujet du pré-lien, le pré-lien ne donne aucune amélioration notable des performances, voir smackerelofopinion.blogspot.co.uk/2009/06/…
Colin Ian King
@ColinIanKing je serai heureux si seulement cela pouvait me donner un petit avantage en termes de performances, les temps de démarrage ne sont pas si mauvais, le problème est généralement lent ou il faut juste trop de temps pour charger un nouveau programme. Je vais utiliser la précharge et la précharge pendant quelques jours, voyons si les choses vont changer
user1717079
10

Vous pouvez ajouter la ligne suivante /etc/fstabpour monter votre /tmprépertoire dans la RAM.

tmpfs / tmp tmpfs par défaut, noatime, nodiratime, mode = 1777 0 0

Cela peut également être fait avec d'autres répertoires. Par exemple, lorsque vous compilez votre code, vous pouvez placer le dossier dans lequel les fichiers objets sont placés et liés dans la RAM.

Mais faites attention. Les données des dossiers montés de cette manière seront perdues en cas d'arrêt. Garde cela à l'esprit.

Outre ma connaissance, il existe de nombreuses autres ressources utiles disponibles sur ce sujet. Par exemple ce fil .

cauon
la source
merci mais un ramdisk est quelque chose de légèrement différent, mais j'apprécie votre conseil car il sera utile plus tard. Mon gros problème en ce moment est de savoir comment exécuter mes applications plus rapidement, pas comment rendre mon système de fichiers plus rapide.
user1717079
Oui, mais j'ai trouvé utile de le mentionner car vous disposez de 4 Go de RAM et l'utilisation de dossiers RAM améliorerait votre expérience de navigation si vous demandez à Firefox de les utiliser pour le cache et d'autres choses.
cauon
6

Qu'est-ce que la RAM?

La RAM, ou mémoire à accès aléatoire, est un type de système de stockage connu sous le nom de stockage volatile . Autrement dit, il ne contient des données que lorsqu'il est alimenté. En d'autres termes, toutes les modifications que vous y apportez, si vous ne l'écrivez pas sur un périphérique de stockage persistant, seront perdues à tout moment où la RAM perdra de sa puissance.

Qu'est-ce qu'un disque dur?

Les disques durs, ou disques durs (ou disques durs), sont un type de système de stockage différent appelé stockage persistant . Cela signifie que les données restent même lorsqu'elles sont privées d'énergie. Les CD, DVD, disquettes et clés USB entrent également dans cette catégorie.

Que se passe-t-il lorsque je démarre, écris dans le cache ou démarre de nouveaux programmes?

Afin de maintenir votre système entre les redémarrages, le système d'exploitation doit écrire ce qu'il a dans la RAM dans un périphérique de stockage persistant, généralement le disque dur principal. Inversement, pour restaurer ces informations ou démarrer des applications, il doit charger ces données dans la RAM à partir du périphérique de stockage. Cela se produit même avec des CD live, même si tout fonctionne en mémoire, il doit d'abord tout lire depuis le CD (ou le lecteur USB). Cela se produit également avec les outils / idées suggérés par cauon et Ugo, car à un moment ou à un autre, les données doivent être lues ou écrites sur un disque afin de persister entre les démarrages (en particulier, le préchargement n'améliorera pas le temps de démarrage ).

Si vous avez une RAM rapide, votre goulot d'étranglement se situera quelque part dans le processus de lecture / écriture sur le disque, généralement soit dans la vitesse de la connexion de données ou la vitesse du lecteur.

Que puis-je faire pour améliorer la vitesse de ces opérations?

Pour améliorer la vitesse des trois opérations mentionnées, vous devrez effectuer une mise à niveau matérielle.

Obtenez une connexion plus rapide. Les connexions ATA parallèles (PATA, le ruban gris sur les machines plus anciennes) vont être plus lentes que les connexions SATA (Serial ATA, les câbles plus récents et plus petits). Si vous le pouvez et ne l'avez pas déjà fait, passez à un disque SATA. Si vous allez la route clé USB (décrit ci - dessous), puis assurez - vous que vous utilisez un câble USB 2.0 (ou, mieux encore, vitesse sage, 3.0) lecteur et le port. Les périphériques et les ports USB ralentiront à la vitesse de la chose la plus lente, donc même si vous avez un port 3.0, si le périphérique est 2.0, vous n'obtiendrez que des vitesses 2.0.

Obtenez un périphérique de stockage plus rapide. Les disques durs à plateau sont mesurés en tr / min et sont généralement disponibles en trois vitesses - 5400 tr / min, 7200 tr / min et 10 000 tr / min. Si vous disposez d'un lecteur de 5400 tr / min, effectuez une mise à niveau vers au moins un 7200. De plus, les disques SSD (y compris les clés USB) sont plus rapides que les disques à plateau. Si vous pouvez vous le permettre, passez à un disque SSD. Alternativement, vous pouvez installer Ubuntu sur un lecteur USB et l'exécuter à partir de là (gardez à l'esprit, cependant, qu'une telle configuration sera limitée à la vitesse de votre port USB, alors assurez-vous d'utiliser au moins un port USB 2.0 et conduire).

Shauna
la source
1

essayez zram (autrefois appelé compcache), c'est un swap compressé dans la mémoire!

le paquet pour ubuntu 12.10 est zram-config, pas besoin de démarrer.

swapon -s affichera quelque chose comme:

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

J'ai 6 Go de RAM et 4 cœurs de processeur, donc un échange pour chaque cœur en utilisant la moitié au total du bélier! (pour une bonne raison)

Lisez ce que ppl dit sur compcache et zram!

eh bien, si des non zram sont utilisés, démarrez ou essayez, IYKWYAD (si vous savez ce que vous faites), échangez-les, pour voir les zram être remplis et améliorer les performances globales.

Puissance du Verseau
la source
btw, ma configuration actuelle a chacun de mes swaps zram (pour chaque cœur) avec 250 Mo, donc un total de 1 Go pour 4 cœurs. J'ai trouvé que cela fonctionnait mieux que de permettre à zram d'utiliser la moitié (3 Go) de ma mémoire totale, je pense que c'est parce qu'il échangera moins vers les disques durs / ssd si j'autorise certaines applications gourmandes en mémoire à utiliser plus de la mémoire réelle. Je ferme également de nombreuses autres applications gourmandes en mémoire qui ne sont pas vraiment nécessaires pour être exécutées tout le temps.
Aquarius Power