Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 big_smile . 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...

Hors ligne

#3 Le 30/08/2013, à 14:42

ladsy

Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???

tiramiseb a écrit :

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 ! tongue

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 .... roll 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 smile 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 big_smile ... 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
}

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 wink 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 smile ). 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 big_smile big_smile

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 smile

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 smile

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 sad
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 ???

ladsy a écrit :

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 smile

Pour ma part, je lance Chromium environ une fois par semaine... smile

Tu dates du XXeme siècle ? Moi aussi wink 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 wink

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 smile



[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... smile
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 smile

Hors ligne

#17 Le 01/09/2013, à 00:13

ladsy

Re : [quantal] firefox et thunderbird en tmpfs se lancent en 4 secondes ???

tiramiseb a écrit :

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 smile

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