Ma vie rêvée

Aller au contenu | Aller au menu | Aller à la recherche

samedi 31 octobre 2020

Mon imprimante est lente sous Linux

J'ai acheté en début d'année une imprimante laser noir&blanc (celle là) pour me libérer des problèmes récurrents de cartouches de ma jet d'encre.

Elle est parfaitement reconnue et gérée via cups sous GNU/Linux (pilote samsung-postscript).

Après quelques jours d'utilisation pour imprimer les cours et devoirs des enfants, on ne peut que constater qu'elle est lente. Pas pour imprimer, mais le temps entre l'envoi de la commande d'impression et l'impression en elle même. On parle ici de quelques dizaines de secondes pour un document très simple à plusieurs minutes pour un document avec quelques images, voire dans certains cas l'impossibilité d'imprimer purement et simplement (notamment les présentations type impress ou powerpoint). Une imprimante de la même marque et d'un modèle légèrement inférieur est capable d'imprimer les mêmes documents quasi instantanément depuis le windows 7 du bureau.

Ce qui pointerait vers un problème lié à cups. Je me suis donc plongé dans la configuration pour finalement tomber sur l'option :

pdftops-renderer

du fichier /etc/cupd/printer.conf ; elle permet de définir l'outil qui convertit le format interne de cups (pdf) en un format compréhensible pour l'imprimante (Ici, le format postscript).

Par défaut, cups utilise l'outil pdftops de ghostscript qui fourni des fichiers compatibles avec presque toutes les imprimantes postscript existantes. Son défaut est qu'il génère des fichiers postscript qui sont généralement d'une très grande taille (dans certain cas, plusieurs centaines de Mio) ce qui rend leur traitement par l'imprimante très lents voire impossible.

Heureusement, il est possible de changer cet outil via l'option ci-dessus. La liste complète est dans la documentation de cups ; les autres outils sont souvent un peu moins compatible mais génèrent des fichiers souvent plus optimisés. Dans mon cas, j'ai modifié la configuration de cups pour qu'il utilise l'outil pdftocairo (à faire en root) :

lpadmin -p nom_imprimante -o pdftops-renderer-default=pdftocairo

suivi d'un redémarrage de cups et voilà. Vous pouvez aussi, après avoir stoppé cups, éditer le fichier /etc/cups/printers.conf pour ajouter la ligne :

Option pdftops-renderer pdftocairo

dans la partie correspondant à l'imprimante à modifier.

Références :

https://fedoraproject.org/wiki/How_to_debug_printing_problems#Printing_takes_a_long_time_or_doesn.27t_print_at_all

https://github.com/OpenPrinting/cups-filters

https://openprinting.org/printer/Samsung/Samsung-ML-371x

 

mardi 24 décembre 2019

Clavier Corsair K55 RGB sous Mageia Linux

Mon vieux clavier (celui là) a rendu l'âme. Son remplaçant est un Corsair K55 RGB avec rétroéclairage. Ce dernier nécessite un pilote spécifique pour gérer les LED qui bien évidemment n'est pas fourni par le constructeur. Heureusement, des volontaires ont développé ce qu'il fallait dans les projets ckb puis ckb-next.

Ces pilotes ont donc récemment été importés dans Mageia Cauldron.

Pour les gens qui, comme moi, préfèrent les versions stables, voilà les paquets recompilés pour Mageia 7 :

Et le paquet source si vous ne faites pas confiance aux inconnus sur le grand Nain Ternet Mondial (ce qui est tout à fait légitime) :

Evidemment, tout cela est fourni en l'état. Ils marchent pour moi mais je ne peux pas garantir qu'ils ne vont pas manger votre disque dur. Vous êtes prévenu, pas la peine de venir vous plaindre. ;)

mardi 5 décembre 2017

Souris EssentielB ergo XL sous GNU/linux

Ma Logitech Performance MX commençait a fatiguer après seulement 3 ans de service (hors garantie bien sur), clics manquants, clics doubles intempestifs, etc. Je suis partie chercher une remplaçante.

[C'est a priori un problème de conception du pressoir qui fini par se tordre.  Ce qui a tendance a m'agacer sur un matériel de cette gamme de prix.]

Ne jouant plus beaucoup, j'ai laissé de côté les souris gamers et mon choix s'est porté sur la souris sans-fil EssentielB ergo XL vu qu'elle a plein de boutons, est de taille respectable (j'ai des grandes mains) et n'est pas trop chère (~30€).

Evidemment, aucune info sur le support sous GNU/linux mais bon c'est une souris usb, ça devrait aller, hein ?

 

Ben en fait oui, ça va. Branchement sans difficulté, reconnaissance sans problème par le système, clic droit, gauche, milieu, molette, précédent, suivant, tout ça fonctionne sans difficulté.

Reste les 3 derniers boutons : un à gauche du clic gauche, et 2 sous le pouce en dessous des précédent/suivant.

Pas de soucis, on sort xev pour récupérer la valeur du bouton et là, c'est le drame (en fait non mais c'est pour l'effet) :

keycode 180 (keysym 0x1008ffa9, XF86HomePage)

En fait, les 3 boutons ne sont pas détectés comme boutons de souris mais comme des touches de clavier. Ce qu'on confirme avec xinput :

[jules@tue-amour ~]$ xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ Compx 2.4G Receiver                         id=9    [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=10    [slave  keyboard (3)]
    ↳ Compx 2.4G Receiver                         id=8    [slave  keyboard (3)]
    ↳ Compx 2.4G Receiver                         id=11    [slave  keyboard (3)]

Ici, Compx 2.4G Receiver est la souris, on voit bien qu'elle déclare une souris et 2 claviers (un seul est utilisé en fait).

Pour rappel (et en résumé), le matériel émet un signal pour chaque événement (ex : je clic un bouton), c'est le scancode, celui-ci est traduit par le noyau en un code numérique, le keycode (cf /usr/include/linux/input-event-codes.h ) qui contrairement au premier ne dépend plus du matériel. Le serveur X va ensuite traduire ce keycode en une instruction utilisable par les applications le keysym (cf par ex /usr/xhare/X11/xkb/symbols/inet). Enfin, chaque keysym sera consommé par les applications pour réaliser une action (afficher une lettre, valider une boite, lancer un menu, etc.)

Nos trois boutons ont donc pour keysyms XF86HomePage, XF86AudioRaiseVolume et XF86AudioLowerVolume, ce qui me pose un soucis étant donné que j'ai un clavier multimédia utilisant déjà ces touches là d'une part, et que j'aime bien paramétrer mes boutons de souris de façon précise d'autre part.

Après avoir cherché quelques heures sur le grand nain ternet mondial quelle était la meilleure solution, j'en suis arrivé à la conclusion qu'il me fallait modifier les keycodes émis par le noyau.

L'utilitaire setkeycodes que j'utilise pour mon clavier branché en PS/2 ne marche pas avec l'usb. Il faut directement aller expliquer à udev qu'il doit changer ça. La procédure n'est pas très compliquée :

  • trouver le scancode, ça se fait avec l'utilitaire evtest (paquet python-evdev sous mageia 6), on lance, on clique et on regarde ce qui s'affiche. Il s'agit de la valeur MSC_SCAN. Chez moi, il s'agissait de 786979, 786665 et 786666 respectivement.
  • Créer un fichier .hwdb dans /etc/udev/hwdb.d/ avec les instructions qui vont bien :
    $less /etc/udev/hwdb.d/99-keyboard.hwdb
    evdev:input:b0003v25A7pFA61*
     KEYBOARD_KEY_C00E9=f23
     KEYBOARD_KEY_C00EA=f22
     KEYBOARD_KEY_C0223=f21
    
    La première ligne désigne la souris, b0003 c'est l'usb, v25A7pFA61 le vendor id et product id qu'on obtient via lsusb. Les trois lignes suivantes correspondent aux réattributions des touches, KEYBOARD_KEY_XXXXX est la touche actuelle avec la valeur précédente convertie en hexadécimal et la partie de droite après le signe égal est le nouveau keycode que l'on veut, ici les touches F21 à F23 dont je n'ai pas l'usage.
  • Une fois le fichier correctement fait, on lance systemd-hwdb update pour mettre à jour la base de donnée suivit de udevadm trigger pour la prendre en compte. Plus qu'à vérifier avec xev. Si ça ne marche pas, augmentez le niveau de log de udevadm (man udevadm option control) et regarder dans le journal (journactl -f).

 

Quand on regarde maintenant, les keycodes sont donc différents et de nouveaux keysyms ont été attribués, dans mon cas XF86TouchpadToggle, XF86TouchpadOn, XF86TouchpadOff. Je suis satisfait, n'ayant pas de touchpad sur cette machine.

Maintenant, plus qu'à modifier mon fichier .xbindkeysrc pour prendre en compte ces nouvelles touches et leur attribuer l'action que je veux. Par exemple, pour la touche en bas du pouce, j'aime bien l'utiliser pour recharger un onglet (ctrl+R) :

"xvkbd -xsendevent -text "\Cr""
 m:0x10 + c:200
#Mod2 + XF86TouchpadOn

xbindkeys peut utiliser directement le keycode (ligne 2) ou le keysym (ligne 3), pour avoir la syntaxe, xbindkeys --key est bien pratique. La première ligne est la commande éxécutée lorsque le bouton/touche est pressé, ici, xvkbd qui envoie le signal ctrl+R.

Il est possible de faire plein d'autres choses (cf xdotool ou xte), y compris générer le clic d'un bouton de souris depuis une touche de clavier qui est en fait un bouton de souris reconnue comme un clavier. :D

jeudi 18 août 2016

Powertop, appliquer les recommandations à chaque démarrage

Pour ceux qui ne connaissent pas powertop, il s'agit d'un utilitaire Linux qui permet de visualiser la consommation de son système, que ce soit les programmes ou le matériel. Il fournit également des recommandations pour améliorer sa consommation énergétique (et incidemment l'autonomie si vous êtes sur batterie), en particulier au travers d'options à activer au niveau du noyau linux. Powertop va même jusqu'à les activer lui-même si vous lui demandez.

Malheureusement, par défaut, ces options ne persistent pas au redémarrage. Il est alors nécessaire de faire un peu de configuration, et là plusieurs options s'offrent à vous. Sans être exhaustif, en voici quelques unes. A noter que powertop donne le chemin des fichiers à modifier dans l'onglet Tunable lorsque l'on active ou désactive une ligne.

Passer une option à un module au démarrage

pour trouver l'option, utiliser modinfo nom_module et rechercher les lignes parm. Ensuite, il suffit de passer l'option au module dans le fichier /etc/modprobe.conf ou via un fichier dans /etc/modprobe.d.

options snd_hda_intel power_save=2

Cette ligne désactive la carte son après deux secondes d'inactivité. C'est une méthode plutôt élégante mais qui nécessite que l'option soit disponible et parfois de régénerer un initrd si le module est chargé dedans. Pas forcément toujours super simple

Créer un fichier éxécuté au démarrage

Soit un script shell soit un fichier service pour systemd, généralement à base de

echo 2 > /sys/module/snd_hda_intel/parameters/power_save

C'est moins élégant que le méthode précédente et nécessite de savoir écrire un service systemd ou un script shell d'init (ce n'est pas forcément très compliqué, cf par exemple ce billet). C'est toutefois un plus souple que la première méthode. A noter que powertop a une option --auto-tune qui active toute les recommandations en une commande.

Utiliser tmpfiles.d

la dernière méthode, que j'utilise actuellement, nécessite systemd et utilise un service de ce dernier nommé tmpfiles.d dont le role est de créer/supprimer/modifier des fichiers volatiles ou temporaires. Via un fichier d'instruction placé dans /etc/tmpfiles.d ; on peut donc créer, détruire, etc. mais surtout dans notre cas aller écrire une valeur dans un fichier spécifique (j'utilise powersave.conf) :

w /sys/module/snd_hda_intel/parameters/power_save - - - - 2

Je trouve pour ma part que c'est l'option la plus souple et la moins compliqué puisqu'il suffit de reprendre les chemins et les options fournis par powertop (pas d'option à chercher) d'une part, et que la syntaxe est plus simple que la création de service ou script d'init d'autre part. Son défaut principal étant de nécessiter systemd.

 

jeudi 27 novembre 2014

Plugins de recherche pour la base de données publique des médicaments

L'ANSM a mis en ligne il y a quelques temps un site web qui recense les notices et RCP des médicaments commercialisés en France.

Comme ça manquait, j'ai créé deux plugins de recherche pour navigateur qui permettent de l'utiliser directement, l'un pour les spécialités (Doliprane, Advil etc.), l'autre pour les DCI (nom de la molécule, par exemple paracétamol).

Ils sont dispos sur Mycroft et devraient fonctionner dans tout navigateur moderne tel que firefox/chrome/etc. (peut-être pas IE cela dit).

dimanche 15 septembre 2013

Mageia 3 et les scripts customs de démarrage

Je viens d'installer Mageia 3 et ma foi, j'en suis content. Mon seul problème venait des quelques scripts custom que j'ai l'habitude de lancer au démarrage : l'un pour configurer correctement les touches multimédia de mon clavier (cf https://bugzilla.kernel.org/show_bug.cgi?id=2340 ) qui ne sont pas reconnus de base ; et le deuxième pour régler la gestion d'énergie de ma radeon.

Vu que maintenant, l'utilisation de systemd est acquise, autant changer maintenant plutôt que continuer à utiliser les modes de compatibilité initscripts (même si ils fonctionnent). Il m'a donc fallu trouver des solutions. Pour les touches multimédia, c'est assez simple, une unité systemd fait le boulot sans problème, à placer dans /etc/systemd/system/ et activer avec systemctl enable xxx.services :

[Unit]
Description=Define correct mapping for special keys on Logitech Cordless Keyboard

[Service]
Type=oneshot
ExecStart=/usr/bin/setkeycodes e014 221
ExecStart=/usr/bin/setkeycodes e013 218
ExecStart=/usr/bin/setkeycodes e012 212
ExecStart=/usr/bin/setkeycodes e011 216
[Install]
WantedBy=multi-user.target

Pour la carte graphique, j'ai préféré éviter les trucs à base de echo xxx > /sys... et après quelques recherches, les commentaires d'un blog sur le développement radeon m'ont donné une solution élégante à base de règle udev ( https://tirdc.livejournal.com/28471.html ) :

[jules@localhost ~]$ cat /etc/udev/rules.d/80-local.rules 
KERNEL=="card0", SUBSYSTEM=="drm", DRIVERS=="radeon", ATTRS{device}=="0x6738", ATTR{device/power_method}="profile", ATTR{device/power_profile}="mid"

là règle est sur une seule ligne dans le fichier. un test avec udevadm test /sys/class/drm/card0 me permet de test la règle et voilà.

vendredi 23 novembre 2012

Wine et warcraft 3

Presque une dizaine d'année plus tard, c'est finalement assez simple. Install de wine, et wine Warcraft3.exe

voilà

jeudi 14 juillet 2011

Micromedex 2.0 et Firefox 4 et plus

AU boulot, on utilise une base de donnée sur le médicament appelé micromedex. Ça coute quelques milliers d'euros par an pour une licence mais c'est très complet et fréquemment mis à jour.

Récemment, ils ont mis en production la version 2.0 du site, qui n'apporte pas grand chose à part du javascript et un rafraichissement du look. Par contre, elle apporte un bug avec firefox 4 et plus, les résultats ne s'affichent plus directement, il faut jouer avec le style ou le zoom pour que ça apparaisse.

Mon rapport de bug au site a été clos avec un gentil message venu tout droit de 2001 et m'expliquant que le bug est connu, qu'ils ne supportent pas firefox mais seulement IE 7 et 8 et que rien ne sera corrigé. En gros, je peux aller me faire mettre.

Le bug chez mozilla (à qui je n'ai pas versé un centime pour utiliser firefox) n'a heureusement pas reçu le même traitement, en 2 jours, le problème était identifié et en 4 un patch est proposé avec un contournement en attendant.

https://bugzilla.mozilla.org/show_bug.cgi?id=670467

J'ai ensuite modifié le bookmarklet de contournement pour en faire un userscript utilisable avec greasemonkey ou scriptish, disponible à l'adresse suivante : http://mjules.free.fr/script/firemedex.user.js

Merci Mozilla (et Boris Zbarsky qui s'est occupé de mon problème)

mardi 19 janvier 2010

Un très bon lien de comparaison des licences

Trouvé sur le planet de KDE, une page écrit Par Adrian de Groot et qui compare les licences un peu dans la même veine que mon tableau (cf colonne de gauche) sauf qu'il le fait nettement mieux que moi et est beaucoup plus complet.

Le lien : http://www.bionicmutton.org/ade/licenses/

Pour ceux que l'anglais rebute voici une traduction rapide des différentes items utilisés :

  • fs : licence de logiciel libre ou non
  • src : accès au code source quelle que soit la forme de distribution utilisée (source ou binaire)
  • C inversé : les versions modifiées du logiciel doivent être distribuées sous la même licence
  • C inversé avec flèche : un logiciel utilisant les fonctionnalités de celui couvert par la licence doit être lui aussi couvert par cette même licence
  • sigle réseau --l- : si le logiciel est utilisé depuis le réseau, le code source doit être accessible
  • téléphone : embarquer le logiciel impose des obligations (cette ligne permet d'éviter qu'un logiciel libre embarqué ne puisse être modifié par l'utilisateur via par exemple une interdiction de démarrer si le logiciel n'est pas signé par l'éditeur)
  • patent : la licence inclus une autorisation d'utilisation de brevets logiciels. Les termes précis sont à lire attentivement dans la licence
  • /!\ : la licence contient des termes peu courants ou étranges (encore plus que d'habitude) et auxquels il faut faire attention

vendredi 30 octobre 2009

Vaccin pandémique

Hier matin, en tant que professionnel de santé, je me suis fait vacciner contre la grippe A H1N1 (vaccin Pandemrix*). Ça c'est très bien passé à part que le vaccin est nettement plus douloureux que celui de la grippe saisonnière (pas à l'injection, par la suite), en tout cas pour la petite dizaine de personne autour de moi qui s'est fait vacciner.

Personne ne m'a mis un pistolet sur la tempe, j'ai pris cette décision parce que j'estime que le risque vaccinal est nettement plus faible que le risque lié à la grippe en elle-même.

Que vous souhaitiez ou non vous faire vacciner, je vous invite à consulter le site de l'AFSSaPS qui a mis en ligne plusieurs articles qui clarifient les points qui prêtent aujourd'hui à polémique.

http://www.afssaps.fr/Dossiers-thematiques/Pandemie-grippale/Evaluation-et-production-des-vaccins-pandemiques/

lundi 11 mai 2009

Mandriva 2009.1

Ça commence à devenir une habitude mais je change de distribution une fois par an à l'occasion de la sortie des versions spring de mandriva. Cette année, c'était donc la version 2009.1 et ma foi, c'est un très bon cru. Petit résumé.

Installation

Quand on ne fait pas l'idiot et qu'on vérifie les médias d'installation, ça marche plutôt bien. J'avais initialement prévu d'utiliser le DVD free pour faire une mise à jour mais mon DVD était un peu corrompu et je me suis retrouvé avec des erreurs sur quelques paquets mineurs comme dash-static, le noyau et mkinitrd, ce qui m'a posé quelques problèmes.

Au final, j'ai téléchargé et gravé le CD dual-arch depuis la machine de mon épouse et j'ai effacé ma partition / ce qui m'a pris quelques minutes.

Comme toujours depuis quelques années, mon matériel a été directement reconnu et configuré sans aucun problème et sans option particulière.

J'ai ensuite monté l'iso de mon DVD en loopback pour installer une partie de ce que j'avais besoin. Tout ça a été plié en moins d'une heure.

Configuration

Pas grand chose à dire, j'ai une sblive et pas de gros besoins donc j'ai encore désactivé pulseaudio, il suffit de cocher une case à l'installation et c'est fait.

Tout le reste a été parfaitement détecté et configuré, à l'exception de mon bi-écran étant donné que le pilote nv ne le gère pas. J'aurais pu utiliser Nouveau prépackagé mais j'ai préféré l'installer par moi-même par la suite.

Xfce 4.6 s'est installé comme un charme, il faut juste penser à supprimer la conf dans le dossier personnel sinon ça donne de drôle de résultat.

Conclusion

Cette version est presque ennuyeuse tellement il n'y a aucun défi à l'installer ou à la configurer. A recommander sans état d'âme.

jeudi 7 mai 2009

Photo de la semaine

Je vous laisse deviner le type de résidence ;-)

dimanche 4 janvier 2009

ffmpeg (et donc mplayer) lit le RealVideo 3 et 4

Depuis quelques semaines, le support des codecs realvideo 3.0 et 4.0 ( http://fr.wikipedia.org/wiki/RealVideo ) a été complété et activé dans ffmpeg et donc dans tous les lecteurs qui l'utilisent (donc mplayer). Il n'est donc plus nécessaire d'utiliser les codecs binaires de chez Real. Encore un maillon propriétaire de moins sur mon système :).

vendredi 2 janvier 2009

Bonne année

Tout est dans le titre :D

Comment donner de l'oméprazole à un nourrisson.

Mon fils a un RGO, le médecin lui a donc prescrit de l'oméprazole (Mopral*) et il faut donc trouver le moyen de lui faire ingurgiter. Voilà quelques conseils.

Lire la suite...

dimanche 23 novembre 2008

Une des raisons de l'absence de mise à jour

Il est beau hein ;)

C'est un joli petit Romain né le 27 octobre 2008 (avec 6 semaines d'avances quand même) et qui est en pleine santé.

samedi 27 septembre 2008

La consommation mémoire avec Linux, rapide survol

Il est assez fréquent de rencontrer sur les forums de discussion des intervenants s'étonnant de la quantité affolante de mémoire consommée par leur système tournant sous Linux.

La plupart du temps, cet étonnement vient d'une méconnaissance de la gestion de la mémoire par ledit système. Je vais donc tenter, assez grossièrement, d'expliquer comment ça marche. Il faut comprendre que de la mémoire inutilisé est de la mémoire inutile. C'est à dire que tant qu'il peut (c'est à dire tant qu'une application n'en a pas besoin), le système va essayer d'utiliser la mémoire pour faire quelque chose d'utile (un cache disque par exemple). Une partie de la mémoire est consommée mais reste disponible dès qu'un programme en a besoin.
Certains outils (comme top) vont par défaut afficher la mémoire consommée et par les applications et par le système, d'où l'étonnement ci-dessus.

Prenons, un exemple pour bien comprendre. Au moment où j'écris, J'ai sur ma machine 2Go de RAM physique et quelques programmes ouverts.

Voici le résultat de top :

Mem:   1997536k total,  1624688k used,   372848k free,   245772k buffers
Swap:   843372k total,        0k used,   843372k free,   501948k cached

D'après lui, 1,6Go de mémoire est occupé (arrgh), 350Mo est libre, 250Mo est dans les tampons et 500Mo est de la mémoire cache (je passe sous silence le swap qui n'est pas utilisé).

Si on fait la somme de ses valeurs, on arrive à bien plus que 2Go, ce qui est normal puisqu'en réalité, les tampons et les caches sont à déduire de la mémoire utilisée. Ce que fait automatiquement l'outil free :

             total       used       free     shared    buffers     cached
Mem:          1950       1586        364          0        240        490
-/+ buffers/cache:        856       1094

cette fois-ci la mémoire consommée est redescendue à 856Mo. Ce qui est déjà plus raisonnable mais quand même toujours important.

En réalité, la mémoire réellement consommée par les programmes n'est pas si importante. L'outil free ne prend pas en compte tous les caches existant et en particulier ceux se trouvant en espace noyau.

Pour cela, on peut utiliser l'outil slabtop (classé par consommation mémoire) :

 Active / Total Objects (% used)    : 1179886 / 1181585 (99.9%)
 Active / Total Slabs (% used)      : 131149 / 131149 (100.0%)
 Active / Total Caches (% used)     : 57 / 66 (86.4%)
 Active / Total Size (% used)       : 496560.55K / 496815.30K (99.9%)
 Minimum / Average / Maximum Object : 0.01K / 0.42K / 4.00K
 OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
480555 480537  99%    0.75K  96111        5    384444K ext3_inode_cache
505153 505145  99%    0.20K  26587       19    106348K dentry
18669  18666  99%    0.55K   2667        7     10668K radix_tree_node
190051  90009  99%    0.10K   2309       39      9236K buffer_head
3105   3100  99%    0.77K    621        5      2484K shmem_inode_cache
37376  37282  99%    0.06K    584       64      2336K kmalloc-64
3794   3791  99%    0.55K    542        7      2168K inode_cache
7728   7703  99%    0.17K    336       23      1344K vm_area_struct
916    912  99%    1.00K    229        4       916K kmalloc-1024
1326   1319  99%    0.59K    221        6       884K proc_inode_cache
0965  10965 100%    0.08K    215       51       860K sysfs_dir_cache
4389   4346  99%    0.19K    209       21       836K kmalloc-192
368    344  93%    2.00K     92        4       736K kmalloc-2048
172    167  97%    1.97K     43        4       344K task_struct
  96     93  96%    2.06K     32        3       256K sighand_cache
286    275  96%    0.69K     26       11       208K sock_inode_cache

Ainsi, on voit que le cache des inodes (les références vers les fichiers) fait 384Mo, celui des noms de dossiers (dentry) fait 100Mo.

Il suffit alors de soustraire ces 2 valeurs pour arriver à quelques choses de plus réaliste en terme de mémoire occupée, ici autour de 380Mo.
On est bien loin des 1,6 Go initiaux, ouf ;).

Toutes ces données sont également directement disponible dans le fichier /proc/meminfo (regarder notamment la ligne Sreclaimable qui fait le total des caches récupérables dans le noyau)

Voilà, c'est fini pour cette courte explication du mythe de la consommation de mémoire avec Linux. N'hésiter pas à corriger ou compléter en commentaire, je suis loin d'être un expert sur le sujet.

PS : A noter que dans mon cas, mon pilote graphique se réserve une zone mémoire importante en RAM, sans pour autant l'utiliser constamment.
Elle n'en est pas moins considérée occupée par les différents outils et je n'ai pas trouvé comment la mettre en évidence.

lundi 1 septembre 2008

Mise à jour du blog

Ce matin, je me suis dit que tant qu'à changer d'hébergeur, autant en profiter pour changer d'autres trucs ;). J'ai donc mis à jour ce blog vers dotclear 2. Normalement, il ne devrait pas trop y avoir de casse, sauf pour les fils RSS et commentaires auxquels il faut se réinscrire, le format ayant totalement changé.

N'hésitez pas à me laisser un commentaire si vous constatez un problème.

dimanche 31 août 2008

Changement d'adresse

Suite à un comportement très bizarre de mon hébergeur (pages persos free.fr), j'ai du me résoudre à déplacer ce blog. La nouvelle adresse est donc http://mjules.littleboboy.net/carnet.
Je vous invite à mettre à jour vos marques-pages et abonnements RSS/atom. Il y a une redirection vers le nouveau site mais il n'y a aucune garantie qu'elle persiste dans le temps :).

En attendant, un grand merci à mon nouvel hébergeur qui m'a gentiment fait une place ici :).

lundi 11 août 2008

Qu'est ce que j'ai lu récemment ?

Pas mal de trucs, quelques uns assez notables (attention, les liens peuvent contenir des spoilers) :

  • La croisée des mondes de Philip Pullman, trilogie dont le premier tome a été adapté au cinéma sous le titre La Boussole D'or. Pas mal du tout, mais je plains celui qui va devoir adapter la suite, ça va pas être simple. Genre fantaisie.
  • Ange mémoire et Mysterium de Robert Charles Wilson (auteur de Spin dont j'ai déjà parlé). Les deux sont très bons ; le second est un recueil de nouvelles très sympa. Genre Science-fiction
  • Fruit Basket, série de mangas très sympa ; ne vous arrétez pas aux premiers volumes, l'histoire devient beaucoup plus intéressante par la suite. Genre fleur bleue
  • Je suis une Légende de Richard Matheson. Après avoir vu le film et la fin alternative de celui-ci (qui est resté dispos quelques jours sur les sites de vidéos et est très différente de la fin en salle), je me suis lancé dans le bouquin. Pas déçu du tout, le bouquin est très bien, et plus profond que le film, en particulier on comprend le titre avec le livre. Genre Science-fiction
  • La jeune détective, suite de nouvelles de Kelly Link. Comment dire... Le style est très particulier, certaines nouvelles sont pas trop mais j'ai pas accroché du tout. Genre bizarre

Ah oui, et j'allais oublier, j'ai mis à jour le listing de ma collection de bouquin (Tellico, c'est bien).

- page 1 de 7