#1 Le 30/08/2013, à 13:24
- ladsy
[quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Bonjour,
Je pensais avoir réglé définitivement le problème (récurrent chez tous) de lenteur de lancement de Firefox en le lançant depuis un système de fichier en mémoire.
J'ai fait cela pour pas mal de logiciels un peu lents au démarrage, ou que j'arrête / relance assez souvent :
- gedit (si si ça rame)
- virtualbox (quoique je vais retirer)
- libreoffice
- firefox
- thunderbird
- nautilus
Ainsi, quand je fais un df -m, j'ai :
tmpfs 3 1 3 1% /home/user/.dbus
tmpfs 1 0 1 0% /home/user/.compiz/session
tmpfs 3994 24 3970 1% /home/user/.cache
tmpfs 1 0 1 0% /home/auriges/.dbus
tmpfs 3994 0 3994 0% /home/auriges/.cache
tmpfs 1 1 1 1% /home/aditamus/.dbus
tmpfs 3994 6 3988 1% /home/aditamus/.cache
tmpfs 3994 3 3991 1% /usr/lib/nautilus
tmpfs 3994 5 3989 1% /usr/lib/gedit
tmpfs 3994 82 3912 3% /usr/lib/virtualbox
tmpfs 3994 436 3558 11% /usr/lib/libreoffice4.0
tmpfs 3994 60 3935 2% /usr/lib/firefox
tmpfs 3994 1 3993 1% /usr/lib/firefox-addons
tmpfs 3994 63 3931 2% /usr/lib/thunderbird
tmpfs 3994 6 3988 1% /usr/lib/thunderbird-addons
tmpfs 3994 1 3993 1% /usr/lib/mozilla
tmpfs 3994 0 3994 0% /usr/lib/mozilla-firefox
J'ai déclaré les répertoire /usr/lib/XXX dans mon /etc/fstab
#Montage de répertoires temporaires
tmpfs /usr/lib/nautilus tmpfs mode=01777 0 0
tmpfs /usr/lib/gedit tmpfs mode=01777 0 0
tmpfs /usr/lib/virtualbox tmpfs mode=01777 0 0
tmpfs /usr/lib/libreoffice4.0 tmpfs mode=01777 0 0
tmpfs /usr/lib/firefox tmpfs mode=01777 0 0
tmpfs /usr/lib/firefox-addons tmpfs mode=01777 0 0
tmpfs /usr/lib/thunderbird tmpfs mode=01777 0 0
tmpfs /usr/lib/thunderbird-addons tmpfs mode=01777 0 0
tmpfs /usr/lib/mozilla tmpfs mode=01777 0 0
tmpfs /usr/lib/mozilla-firefox tmpfs mode=01777 0 0
Au préalable du montage, j'avais créé un tar du répertoire /usr/lib/firefox que j'ai rangé simplement dans /usr/lib/firefox.tar
Et j'ai créé un service qui décompresse les sauvegardes de fichiers tar juste après le montage de répertoires.
Par exemple :
#mount /usr/lib/firefox
dir=/usr/lib/firefox
fichier_tar=/usr/lib/firefox.tar
repertoire_cible=/usr/lib/
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir is mounted"
else
echo "$dir is not mounted"
mount $dir
fi
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir est vraiment monte : on decompresse le fichier tar"
# Cas ou l'on a recompresse avec recompress.sh : tar -cf $fichier_tar $dir
tar -xf $fichier_tar
# Cas ou l'on a recompresse a la main par la commande : tar -cf $fichier_tar ./-repertoire
#tar -C $repertoire_cible -xf $fichier_tar
renice -n -15 -p `pidof tar`
fi
Ainsi, quand ma machine est bootée et que mon utilisateur est connecté ... j'ai un fichu gain de vitesse / réactivité sur gedit, libreoffice. C'est visible, mais un peu moins sur nautilus et virtualbox.
Ma machine :
- core 2 quad q9650
- 8 Go de RAM (il y a de la place de coller pas mal de choses en mémoire ... malgré 2 VM à 2 Go chacune
- Raid 0 de 3 disques Sata qui commence à être vieux vu l'arrivée des SSD, mais rendent encore bien service
Mon problème :
Et bien je pensais avoir une accélération du feu de dieu sur Thunderbird et Firefox vu que tout est dorénavant chargé depuis la mémoire.
Je m'attendais à du : clic et pouf !
En fait, le lancement de Firefox est quasi aussi long que depuis mon Raid 0 de SATA.
Il faut bien 3 à 4 secondes pour lancer Firefox en le lançant depuis la mémoire.
J'allucine.
Est-ce normal ?
Auriez-vous des idées, une explication, des paramétrages ?
... précision ... sous quantal, le cache de FF se trouve dans le répertoire ~/.cache/firefox/4dsfds486.shmurtz/cache par défaut.
Et j'ai mis ce répertoire cache ... en mémoire aussi.
J'ai même un gvfs-metada en mémoire ... qui accélère sacrément la réactivité.
En surf, firefox est assez (voir très très) réactif, le seul problème est .. mon débit ADSL . Pas de problème de ce côté.
Le problème, c'est le lancement.
J'ai Firefox 24beta : 24.0~b5+build1-0ubuntu0.12.10.1 ... qui se lance déjà plus vite que le 23 etc etc ...
Je précise aussi ...
J'ai testé en faisant le déplacement de mon ~/.mozilla sur un espace en tmpfs et fait un ln -s /tmp/.mozilla ~/.mozilla ... ainsi, le profile de firefox a été en mémoire vive.
Le temps de lancement est le même ! Donc ça ne vient pas d'un profile trop lourd, avec des longueurs dans le chargement des extensions.
Merci d'avance.
Dernière modification par ladsy (Le 30/08/2013, à 13:39)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#2 Le 30/08/2013, à 13:54
- tiramiseb
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Salut,
Avec cette astuce, tu accélères le temps de lecture de données sur le disque. Mais si la "lenteur" au démarrage de Firefox vient d'autre chose que la lecture des fichiers sur le disque.
Le chargement d'un programme ou d'une de ses extensions n'est pas uniquement sa lecture sur le disque...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 30/08/2013, à 14:42
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Salut,
Avec cette astuce, tu accélères le temps de lecture de données sur le disque. Mais si la "lenteur" au démarrage de Firefox vient d'autre chose que la lecture des fichiers sur le disque.
Le chargement d'un programme ou d'une de ses extensions n'est pas uniquement sa lecture sur le disque...
Oui, je veux bien croire que les accès en lecture ne seraient pas en cause, notamment quand je vois qu'un logiciel aussi " lourd " que LibreOffice se charge très rapidement (1 seconde si je kille le quickstart et instantanné avec le quickstart ... avant c'était 1 seconde avec le quickstart et bien 3/4 sans le quickstart).
Qu'est-ce qui ferait ces délais alors ?
La décompression des XPI ?
edit :
c'est probable, avec un profil neuf et zero xpi .. le lancement est de moins de 1 seconde ... pas instantanné, mais bien moins de 1 seconde.
Un XPI serait en cause.
Dernière modification par ladsy (Le 30/08/2013, à 14:45)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#4 Le 30/08/2013, à 15:17
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Je confirme ...
C'est AdBlock Plus le fautif !
Le lancement de FF est redescendu de 4 à 1 seconde sur 3 machines :
- le PC en cause
- 1 VM knoppix (iceweasel)
- un lenovo T60
Je rage.
Note que si vous savez descendre en dessous de la seconde .... hum ?
Je mettrai résolu quand j'aurai trouvé pour Thunderbird, qui rame aussi pas mal .....
Dernière modification par ladsy (Le 30/08/2013, à 15:18)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#5 Le 30/08/2013, à 16:22
- sylvainsjc
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Salut, intéressant... Mais dis moi, ça veut dire qu'au démarrage tu fais une décompression et un montage des fichiers concernés en RAM, est-ce que le temps de boot est impacté ?
ROSA Desktop Fresh KDE 4.13.3
Mon blog sur Linux : http://linuxadvantage.blogspot.com/
Hors ligne
#6 Le 30/08/2013, à 23:05
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Alors pour éviter de perdre trop de puissance, j'ai fait "tar", ... pas de tar -c donc il n'y a pas de compression, mais seulement un déploiement de répertoire.
C'est un compromis entre la copie de répertoire (qui aurait risqué d'avoir des problèmes avec les liens par exemple), et la compression. Je crois qu'il n'y a donc pas plus d'emploi de ressource que lors d'une copie de fichier.
D'un autre côté, il n'y a pour le moment que ces fichiers à décompresser à chaque boot :
root@machine:/usr/lib# du -sm *.tar
1 firefox-addons.tar
59 firefox.tar
5 gedit.tar
424 libreoffice4.0.tar
1 mozilla-firefox.tar
1 mozilla.tar
3 nautilus.tar
6 thunderbird-addons.tar
63 thunderbird.tar
82 virtualbox.tar
C'est à dire à tout casser 600 Mo.
Hors, j'ai un raid 0 sur 3 disques, qui en performance brute (donc sur des gros fichiers, lorsque le temps d'accès ne compte plus) prêt de 360 Mo/s. Quid de 2 secondes sur un boot de quasi 1 minute ?
Donc, pour le moment, je n'ai pas remarqué de réelle perte de performance. Je ne boote pas mon PC autant que je lance firefox ... J'appuye sur le bouton juste avant d'aller prendre mon café, ce qui fait que la session est loguée quand je reviens.
Il faudrait que je fasse des réelles mesures pour voir l'impact. Au pif, je ne vois pas de perte de performance.
Je peux me passer de 600 Mo en mémoire vive sur les 8Go, il me restera 6,5 Go. Ca me fait gagner un temps sensible en réactivité système qui vaut bien cette concession.
Je vais porter le tout sur une machine moins performante, un portable Lenovo T60 (gonflé quand même à 3 Go de RAM et avec un disque SSD de 60 Go, soit 133 Mo/s de débit). Je verrais ce que ça donne et je te donne des nouvelles.
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#7 Le 30/08/2013, à 23:06
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Note >
je me suis fait un petit environnement de gestion des répertoires à transférer en mémoire.
Pour que ce soit propre, il me faut juste savoir comment ... créer une " fonction " en shell script car là, je copie/colle le même code .
si tu sais faire ...
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#8 Le 31/08/2013, à 18:58
- tiramiseb
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Sinon, j'ai deux questions :
1/ comment tu gères les mises à jour des différents paquets ?
2/ si ton ordinateur met 2 secondes à décompresser toutes les archives en questions (donc 2 secondes à lire tous les fichiers), alors est-ce que ça l'accélère vraiment de les mettre en mémoire ?
(par exemple ton archive "firefox.tar" fait 59 Mo : à 360 Mo/s, ça fait grosso modo 164ms pour 59 Mo... ça vaut vraiment le coup de mettre ça en mémoire)
[je m'y intéresse car avec mes 16 Go de RAM, j'ai largement la place de faire la même chose... et moi j'ai un simple disque dur 2"1/2]
savoir comment ... créer une " fonction " en shell script
nom_de_la_fonction() {
actions
}
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 31/08/2013, à 21:35
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
1/ comment tu gères les mises à jour des différents paquets ?
hé hé, je :
- démonte
- installe
- recompresse mes .tar
- remonte
2/ si ton ordinateur met 2 secondes à décompresser toutes les archives en questions (donc 2 secondes à lire tous les fichiers), alors est-ce que ça l'accélère vraiment de les mettre en mémoire ?
(par exemple ton archive "firefox.tar" fait 59 Mo : à 360 Mo/s, ça fait grosso modo 164ms pour 59 Mo... ça vaut vraiment le coup de mettre ça en mémoire)
Il faut noter qu'en mode récurrent, le detarage ne se fait qu'une seule et unique fois par "session d'utilisation". On ne fait pas tout le temps des mises à jour ou modification des paquets chargés en mémoire ... Firefox, même la version béta évolue tous les mois au plus, Thunderbird tous les 2 mois, LibreOffice item.
Par contre, tu ne vas mettre en mémoire que les binaires des fichiers que tu emploies souvent. Pour ma part, je lance et je kille FF, 20 fois par heure. Tu dates du XXeme siècle ? Moi aussi Donc tu comprendras que j'ai gardé l'habitude de fermer les Windows pour éviter les courants d'air.
Calculons maintenant le pire des cas :
- Je postule, sans certitude mais avec une grosse présomption, qu'un détarrage de fichier non compressé coûte autant que l'accès sur tout le répertoire non taré (j'ai pas dit pas débile ). N'oublie pas non plus que si j'ai "taré", ce n'est que pour ne pas me casser la tête avec les liens éventuels lors d'un "cp -ifr"
- Donc, détarrer un répertoire coûte à peine aussi cher que de lancer le programme FF avec toutes ses fonctionnalités
- Pour savoir si c'est intéressant, il faut voir le nombre de fois que je lance FF par "session bootée" et le temps que je perds à détarrer (ou cp -ifr) en mémoire
Comme on a vu qu'un détarrage coûte autant (en temps) qu'un lancement depuis un stockage disque. Il ne reste qu'à voir combien coûte un lancement depuis un stockage "mémoire".
FF depuis la mémoire et FF depuis le disque ? ... on gagne 2 à 3 secondes sans problèmes.
Gedit depuis la mémoire vs Gedit depuis le disque ... là aussi on gagne 1 à 2 seconde ! Malgré mon RAID et assi petit soit ce programme ! En fait, on gagne au moins le temps d'accès disque qui est sans comparaison plus lent que le temps d'accès mémoire (ordre de quoi : 10e6 fois ? ... des 14 millisecondes vs 14 nanosecondes), plus le débit mémoire (6 Gbot/s) vs le débit disque (400 Mo/s).
L'avantage de lancer les binaires depuis la mémoire est donc d'autant plus grand que tu lances souvent le programme.
Il est intéressant de "investir" 2 voir même 5 secondes à charger 1 seule fois au boot (le matin) un programme si tu gagnes environ 100 lancement fois 1 à 2 secondes à chaque fois par jour de travail.
As-tu remarqué l'incidieux petit moment d'exaspération que l'on peut ressentir à chaque fois que l'on a besoin d'aller sur google pour trouver une information et qu'on est "un peu puni" par 3 petites secondes d'attente que FF se lance enfin ? C'est cela que je ne veux plus, et que ma solution permet d'éviter.
[je m'y intéresse car avec mes 16 Go de RAM, j'ai largement la place de faire la même chose... et moi j'ai un simple disque dur 2"1/2]
Avec 16 Go de RAM, tu as une configuration sûrement plus péchue que la mienne voir plus récente.
Du coup investissement d'un SSD, voir d'un raid de SSD sera cohérent (AMHA) ... même si tu ne devras pas te passer de ma solution
savoir comment ... créer une " fonction " en shell script
Tu as été sympa, d'autres m'aurait envoyé voir l'ami google pour une question aussi stupide ... c'est ce que j'avais fini par faire d'ailleurs
Dernière modification par ladsy (Le 31/08/2013, à 21:36)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#10 Le 31/08/2013, à 21:41
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Bon, sur ce, voilà mes scripts ... en échange, vos suggestion d'amélioration
Déjà, se créer un répertoire /opt/optilho dans lequel on va stocker tout le bordel d'outillage et ... le service optilho ;-)
Extrait de mon /etc/fstab
tmpfs /var/cache tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /tmp tmpfs mode=01777 0 0
#Montage de répertoires temporaires
tmpfs /usr/lib/nautilus tmpfs mode=01777 0 0
tmpfs /usr/lib/gedit tmpfs mode=01777 0 0
tmpfs /usr/lib/virtualbox tmpfs mode=01777 0 0
tmpfs /usr/lib/libreoffice4.0 tmpfs mode=01777 0 0
tmpfs /usr/lib/firefox tmpfs mode=01777 0 0
tmpfs /usr/lib/firefox-addons tmpfs mode=01777 0 0
tmpfs /usr/lib/thunderbird tmpfs mode=01777 0 0
tmpfs /usr/lib/thunderbird-addons tmpfs mode=01777 0 0
tmpfs /usr/lib/mozilla tmpfs mode=01777 0 0
tmpfs /usr/lib/mozilla-firefox tmpfs mode=01777 0 0
tmpfs /home/ladsy/.dbus tmpfs size=3m,uid=ladsy,gid=ladsy,defaults,noatime,nodiratime 0 0
tmpfs /home/ladsy/.compiz/session tmpfs size=1m,uid=ladsy,gid=ladsy,defaults,noatime,nodiratime 0 0
tmpfs /home/ladsy/.cache tmpfs uid=ladsy,gid=ladsy,defaults,noatime,nodiratime 0 0
... "ladsy", bien entendu, tous les utilisateurs de votre machine en fait ...
synaptique.sh
#!/bin/sh
# Programme d'optimisation :
# - reprogrammation de synaptic
# Luxian - 2013/08/31
############################################################
# Remarques
############################################################
# Ajouter dans le .bashrc de l'utilisateur root qui lancera
# synaptic :
# alias synaptic='sudo /opt/optilho/synaptique.sh'
# et non : alias synaptic='sudo synaptic'
############################################################
# Definition des variables
############################################################
# Variables globales
# Codes d'erreur
# Utilisateur non root a lance le script
erreur_nonroot=100
############################################################
# Definition des fonctions
############################################################
############################################################
# Preparation
############################################################
echo "Lancement de OptiLHO"
if [ `echo $USER` != "root" ]; then
echo "Utilisateur - $USER - ne doit pas lancer ce script."
echo "Seul root doit lancer ce script, au revoir !"
exit $erreur_nonroot
fi
############################################################
# Traitement
############################################################
apt-get update
/usr/sbin/update-apt-xapian-index -f --update
/usr/sbin/synaptic
# on a termine de travailler, inutile de laisser la memoire
# surchargee, il vaut mieux reconstruire l'index, etc, a la
# prochaine installation.
# on vide l'index qui occupe de la memoire pour rien
rm -ifr /var/cache/apt/*
rm -ifr /var/cache/apt-xapian-index/*
rm -ifr /var/cache/apt-show-versions/*
rm -ifr /var/cache/apt-cacher/*
... hé oui, /var/cache est monté en tmpfs
note que ça fait pas mal ramouiller synaptic de reconstruire apt-xapian-index ... mais en fait, on n'installe pas tout le temps un logiciel, il vaut mieux l'avoir en mémoire temporaire que d'utiliser à tord son disque SSD (l'écriture sur SSD, c'est mal ça le bousille), et de toute façon pour ce qu'on réinstalle plusieurs fois un logiciel ... autant nettoyer et que ça n'aiile jamais sur le disque.
Dernière modification par ladsy (Le 31/08/2013, à 21:43)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#11 Le 31/08/2013, à 21:45
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Pour répondre à une question qui était : mais comment tu t'y prends pour modifier / updater tes softs ...
J'ai pondu l'outil :
#!/bin/sh
# programme recompresseur.sh
# LHO - 2013/08/31
############################################################
# Definition des variables
############################################################
# Codes d'erreur
# Utilisateur non root a lance le script
erreur_nonroot=100
# Variable globale
dir="" # chaine
############################################################
# Definition des fonctions
############################################################
traitement () {
# Variables locales
dir_tar=$dir".tar"
dir_file=$dir"/"
rm $dir_tar
tar -cf $dir_tar $dir_file
# Nettoyage des variables locales
dir_tar=""
dir_file=""
}
############################################################
# Preparation
############################################################
echo "Lancement de recompresseur".
if [ `echo $USER` != "root" ]; then
echo "Utilisateur - $USER - ne doit pas lancer ce script."
echo "Seul root doit lancer ce script, au revoir !"
exit $erreur_nonroot
fi
# Il faut demonter tous les repertoires sinon on recompresse betement quelques chose de deja compresse
sh /opt/optilho/crododile.sh
# Traitement
dir=/usr/lib/nautilus
traitement
dir=/usr/lib/virtualbox
traitement
dir=/usr/lib/libreoffice4.0
traitement
dir=/usr/lib/gedit
traitement
dor=/usr/lib/firefox
traitement
dir=/usr/lib/firefox-addons
traitement
dir=/usr/lib/thunderbird
traitement
dir=/usr/lib/thunderbird-addons
traitement
dir=/usr/lib/mozilla
traitement
dir=/usr/lib/mozilla-firefox
traitement
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#12 Le 31/08/2013, à 21:49
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
En lisant "recompresseur.sh", on se dit ... mais c'est quoi ce "crocodile" ?
Juste comme ça : j'aime bien les sacs à main !
Non, je plaisante.
En fait, Crocodile.sh fait l'inverse de Elephant.sh (j'avais pensé au Fantasia de Waltdisney).
Son but est de "nettoyer" les binaires stockés en mémoire ... donc un bête unmout général.
Après tout, pourquoi recompresser un répertoire ... si c'est justement celui qui est en mémoire.
La grosse astuce, c'est que je monte chaque répertoire ... sans l'avoir modifié.
Quand je fais : mount /usr/lib/firefox ...
Je n'ai pas monté un répertoire vide ! les données de /usr/lib/firefox restent sur le disque !
Par contre, une fois monté ... et bien /usr/lib/firefox est vide
Il faut alors le populer .. d'où le détarrage juste après le montage.
Si vous savez monter en mémoire un fichier taré ... ce sera plus efficace .... peut-être que ce serait le rôle des systèmes de fichier en ram compressé, mais je ne sais pas encore comment faire (mksquashfs ??) et je ne sais pas si je gagnerai vraiment en perf à chaque lancement (il faut décompresser les données à chaque fois).
#!/bin/sh
# programme : crocodile.sh
# LHO - 2013/08/31
############################################################
# Definition des variables
############################################################
# Codes d'erreur
# Utilisateur non root a lance le script
erreur_nonroot=100
# Variable globale
dir="" # chaine
############################################################
# Definition des fonctions
############################################################
traitement () {
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir is mounted"
else
echo "$dir is not mounted"
fi
}
############################################################
# Preparation
############################################################
echo "Lancement de Crocodile"
if [ `echo $USER` != "root" ]; then
echo "Utilisateur - $USER - ne doit pas lancer ce script."
echo "Seul root doit lancer ce script, au revoir !"
exit $erreur_nonroot
fi
############################################################
# Traitement
############################################################
dir=/usr/lib/nautilus
traitement
umount -l $dir
traitement
dir=/usr/lib/gedit
traitement
umount -l $dir
traitement
dir=/usr/lib/virtualbox
traitement
umount -l $dir
traitement
dir=/usr/lib/libreoffice4.0
traitement
umount -l $dir
traitement
dir=/usr/lib/firefox
traitement
umount -l $dir
traitement
dir=/usr/lib/firefox-addons
traitement
umount -l $dir
traitement
dir=/usr/lib/thunderbird
traitement
umount -l $dir
traitement
dir=/usr/lib/thunderbird-addons
traitement
umount -l $dir
traitement
dir=/usr/lib/mozilla
traitement
umount -l $dir
traitement
dir=/usr/lib/mozilla-firefox
traitement
umount -l $dir
traitement
Vous verrez le côté paranoïaque ou on s'assure qu'un répertoire est bien démonté avant de le démonter pour qu'il soit démonté assurément ...
Bon, quand je serais sûr en version 89.0 , je testerai moins.
Dernière modification par ladsy (Le 31/08/2013, à 21:54)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#13 Le 31/08/2013, à 21:55
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Et enfin le graal : Elephant.sh ... qui comme tout le monde le sait permet à l'ordinateur d'utiliser sa mémoire d'éléphant pour être plus performant.
#!/bin/sh
# programme : elephant.sh
# LHO - 2013/08/31
############################################################
# Definition des variables
############################################################
# Codes d'erreur
# Utilisateur non root a lance le script
erreur_nonroot=100
# Variable globale
dir="" # chaine # repertoire traité
############################################################
# Definition des fonctions
############################################################
traitement () {
# Variables locales
dir_tar=$dir".tar" # chaine # pour connaitre le fichier tar correspondant au repertoire traite
#repertoire_cible=/usr/lib/ # chaine # repertoire cible de decompression
# on ne peut travailler que si le repertoire est monte
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir is mounted"
else
echo "$dir is not mounted"
mount $dir
fi
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir est vraiment monte : on decompresse le fichier tar"
# Cas ou l'on a recompresse avec recompress.sh : tar -cf $dir_tar $dir
tar -xf $dir_tar
# Cas ou l'on a recompresse a la main par la commande : tar -cf $dir_tar ./repertoire
#tar -C $repertoire_cible -xf $dir_tar
renice -n -15 -p `pidof tar`
fi
# Nettoyage des variables locales
dir_tar=""
}
############################################################
# Preparation
############################################################
echo "Lancement de Elephant"
if [ `echo $USER` != "root" ]; then
echo "Utilisateur - $USER - ne doit pas lancer ce script."
echo "Seul root doit lancer ce script, au revoir !"
exit $erreur_nonroot
fi
############################################################
# Traitement
############################################################
# Repertoires a traiter en priorite
dir=/usr/lib/nautilus
traitement
# Repertoires necessitant un traitement complementaire
dir=/usr/lib/virtualbox
traitement
# Il semble que les services de VirtualBox soient lancés avant la fin de la decompression
service vboxautostart-service stop
service vboxballoonctrl-service stop
service vboxweb-service stop
service vboxdrv stop
service vboxautostart-service start
service vboxballoonctrl-service start
service vboxweb-service start
service vboxdrv start
# Repertoires ne necessitant pas de traitement complementaires
dir=/usr/lib/gedit
traitement
dir=/usr/lib/libreoffice4.0
traitement
dir=/usr/lib/firefox
traitement
dir=/usr/lib/firefox-addons
traitement
dir=/usr/lib/thunderbird
traitement
dir=/usr/lib/thunderbird-addons
traitement
dir=/usr/lib/mozilla
traitement
dir=/usr/lib/mozilla-firefox
traitement
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#14 Le 31/08/2013, à 21:59
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
donc maintenant, .. piste d'optimisation ... coller le contenu du tar dans une sorte d'iso à monter style :
tarer /usr/lib/firefox dans un iso virtuel ...
mount -t auto /usr/lib/firefox.iso -o loop /usr/lib/firefox
et lors des modifications :
- démonter
- installer
- refaire l'"iso"
Je dis iso ou FS compressé de taux de compression 0, sauf s'il n'y a pas de perte à décompresser.
A vos idées ?
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#15 Le 31/08/2013, à 22:03
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Oups, j'avais oublié le service qui lance tout au démarrage (j'ai piqué sur le site d'ubuntu comment faire un service), c'est pour cela que c'est un ".py", j'ai fait du copié/collé
http://doc.ubuntu-fr.org/tutoriel/comme … en_service
#!/bin/sh
# programme : optilho.py
# Programme d'optimisation :
# - chargement en memoire de repertoire temporaires
# - arret de service devenus inutiles
# - repriorisation de programmes deja lances
# Luxian
# LHO - 2013/08/31
############################################################
# Definition des variables
############################################################
# Variables globales
# Codes d'erreur
# Utilisateur non root a lance le script
erreur_nonroot=100
############################################################
# Definition des fonctions
############################################################
############################################################
# Preparation
############################################################
echo "Lancement de OptiLHO"
if [ `echo $USER` != "root" ]; then
echo "Utilisateur - $USER - ne doit pas lancer ce script."
echo "Seul root doit lancer ce script, au revoir !"
exit $erreur_nonroot
fi
############################################################
# Traitement
############################################################
# Chargement en memoire de programmes frequement utilises
sh /opt/optilho/elephant.sh&
# Arret des services inutiles
service bluetooth stop
service speech-dispatcher stop
service ssh stop
# Priorisation des programmes interessants
sh /opt/optilho/reprioriseur.sh&
# Creation des repertoires en memoire
sh /opt/optilho/reputilisateur.sh&
# Traitement du repertoire /var/cache
dir=/var/cache
if [ `stat -fc%t:%T "$dir"` != `stat -fc%t:%T "$dir/.."` ]; then
echo "$dir est monte"
# repertoire sous /var/cache appartenant au groupe : root:root
mkdir /var/cache/apt
chown -R root:root /var/cache/apt
mkdir /var/cache/apt/archives
chown -R root:root /var/cache/apt/archives
mkdir /var/cache/apt-cacher
mkdir /var/cache/apt-cacher/headers
mkdir /var/cache/apt-cacher/import
mkdir /var/cache/apt-cacher/packages
mkdir /var/cache/apt-cacher/private
mkdir /var/cache/apt-xapian-index
chown -R root:root /var/cache/apt-cacher
mkdir /var/cache/apt-show-versions
chown -R root:root /var/cache/apt-show-versions
mkdir /var/cache/cracklib
chown -R root:root /var/cache/cracklib
mkdir /var/cache/debconf
chown -R root:root /var/cache/debconf
mkdir /var/cache/dictionnaries-common
chown -R root:root
mkdir /var/cache/fontconfig
chown -R root:root /var/cache/fontconfig
mkdir /var/cache/fonts
chown -R root:root /var/cache/fonts
mkdir /var/cache/git
chown -R root:root /var/cache/git
mkdir /var/cache/ldconfig
chown -R root:root /var/cache/ldconfig
mkdir /var/cache/lightdm
mkdir /var/cache/lightdm/dmrc
chown -R root:root /var/cache/lightdm
mkdir /var/cache/man
mkdir /var/cache/man/fr
mkdir /var/cache/man/fr.ISO8859-1
mkdir /var/cache/man/fr.UTF-8
chown -R man:root /var/cache/man
mkdir /var/cache/modass
chown -R root:root /var/cache/modass
mkdir /var/cache/pm-utils
chown -R root:root
mkdir /var/cache/samba
mkdir /var/cache/samba/printing
chown -R root:root /var/cache/samba
mkdir /var/cache/software-center
mkdir /var/cache/software-center/xapian
chown -R root:root /var/cache/software-center
# repertoire sous /var/cache appartenant au groupe : root:davfs
mkdir /var/cache/bind
chown root:davfs2 /var/cache/bind
mkdir /var/cache/davfs2
chown root:davfs2 /var/cache/davfs
# repertoire sous /var/cache appartenant au groupe : root:lp
mkdir /var/cache/cups
mkdir /var/cache/cups/rss
chown -R root:lp /var/cache/cups
# repertoire sous /var/cache appartenant au groupe : proxy:proxy
mkdir /var/cache/squid-deb-proxy
chown proxy:proxy /var/cache/squid-deb-proxy
fi
# Traitements utiles
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne
#16 Le 31/08/2013, à 22:27
- tiramiseb
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Par contre, tu ne vas mettre en mémoire que les binaires des fichiers que tu emploies souvent. Pour ma part, je lance et je kille FF, 20 fois par heure.
Normalement, Linux garde en mémoire les données des programmes que tu as fermés (et donc ne relit pas les fichiers lors du second lancement - c'est le cache disque). Mais bon je veux bien croire que ça va plus vite tout de même
Pour ma part, je lance Chromium environ une fois par semaine...
Tu dates du XXeme siècle ? Moi aussi Donc tu comprendras que j'ai gardé l'habitude de fermer les Windows pour éviter les courants d'air.
Je sais pas, ça fait des années que je n'ai pas de Windows
Gedit depuis la mémoire vs Gedit depuis le disque ... là aussi on gagne 1 à 2 seconde !
Gedit se lance en 1 seconde chez moi, sans manip particulière... sauf la première fois.
Car les données sont conservées en mémoire.
L'avantage de lancer les binaires depuis la mémoire est donc d'autant plus grand que tu lances souvent le programme.
Cette conservation en mémoire est normalement automatique avec le noyau Linux.
Cache disque, bla bla bla.
Il est intéressant de "investir" 2 voir même 5 secondes à charger 1 seule fois au boot (le matin) un programme si tu gagnes environ 100 lancement fois 1 à 2 secondes à chaque fois par jour de travail.
Cache disque, bla bla bla.
As-tu remarqué l'incidieux petit moment d'exaspération que l'on peut ressentir à chaque fois que l'on a besoin d'aller sur google pour trouver une information et qu'on est "un peu puni" par 3 petites secondes d'attente que FF se lance enfin ?
Je n'arrête pas Chromium, je ne relance pas Chromium
[je m'y intéresse car avec mes 16 Go de RAM, j'ai largement la place de faire la même chose... et moi j'ai un simple disque dur 2"1/2]
Avec 16 Go de RAM, tu as une configuration sûrement plus péchue que la mienne voir plus récente.
Bah, PC acheté il y a bientôt un mois...
Du coup investissement d'un SSD, voir d'un raid de SSD sera cohérent (AMHA)
Côté investissement, j'ai eu ma dose merci...
Un disque SSD ultra-fin (pour pouvoir le rentrer dans mon PC), ça coûte ultra cher... Un 12" de 2kg, ça impose des contraintes...
RAID de SSD, pas possible dans mon portable
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#17 Le 01/09/2013, à 00:13
- ladsy
Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???
Normalement, Linux garde en mémoire les données des programmes que tu as fermés (et donc ne relit pas les fichiers lors du second lancement - c'est le cache disque). Mais bon je veux bien croire que ça va plus vite tout de même
Oui, normalement et en théorie. Je ne nie pas, c'est bien comme cela que ça doit / devrait / se passe(r).
Sauf que j'arrive à ressentir une différence entre quand je lance au bout de 4 fois depuis le disque ... et au bout de 2 fois depuis la mémoire !
... sinon je ne me serais pas cassé la tête et j'aurais considéré qu'il suffit de lancer 1 fois firefox (ou plus fort encore libreoffice préchargé via le systray)
Il faudrait un moyen de mesurer cela qui soit mois subjectif que le ressenti utilisateur.
En tout cas, je confirme avec mon petit T60, je viens de lui faire subir le même sort, ... l'accélération de libreoffice est sans comparaison.
Ton SSD fait au mieux du 500 Mo / s de débit (malgré ta config du feu de Zeus), il sera toujours moins performant que ta mémoire ..., tu devrais essayer sur libreoffice et me dire si c'est "plus" ou "moins" réactif quand tu lance Libreoffice / Presentation.
Dernière modification par ladsy (Le 01/09/2013, à 00:17)
ubuntu mate 21.04 x86-64 - dual boot W10
Machine 1 : portable Lenovo P50 - écran 4K - 4G/LTE - raid 0 de 2 eNVM - 64 Go de RAM et écran Acer Predator XB321HK
Machine 2 :P5Q-EM - 16Go - SB X-Fi Xtrem - 3 SSD Samsung 840EVO 500 Go en raid 0, GTX 970 et écran Samsung B2330
Hors ligne