Disruptive ?

Habituellement, je ne m’extasie pas devant du nouveau matériel informatique. N’en déplaise à mes collègues, je ne saute pas de joie devant un graphe de débit d’I/O disques ou une nouvelle nappe SAS 4 ports.

Mais là, j’ai été scotché.

Pourtant je savais bien à quoi m’attendre avec ce SSD.

Oui, je savais que le débit était maintenu avec des petites I/O, de l’ordre de 270 Mo/s… Que le lancement des applis serait instantané, et je dis biens “des applis”, c’est-à-dire en les lançant en même temps; le tout sans bruit, sans latence. Que le boot serait quasi-instantané…

Bon, ca fait quand même son effet. Et c’est agréable. Pas sûr de vouloir revenir sur un HDD après ça. En tout cas, le retour lundi au travail sur mon laptop pourrave sera pénible.

Quant à la capacité, 60Go, c’est largement suffisant pour stocker un système et le /home. Pour le reste, les “vidéos de vacances” et “mes compositions musicales”, resteront sur l’ancien HDD, là ou la latence reprend ses droits sans gêner l’utilisateur.

Du côté d’Ubuntu, il a fallu tweaker un tout petit peu: ce coquin n’active pas l’option “discard” par défaut pour les partitions ext4. Un moyen sûr de fusiller son SSD rapidement.

Update: le graphe de boot:

deimos-oneiric-20120210-1.png

8 commentaires pour “Disruptive ?”

  1. JN dit :

    Ton article a éveillé ma curiosité :

    * quel est le temps de boot au final ?
    * As-tu regardé du côté de /sys/block/sda/queue/rotational pour vérifier que le disque est bien estampillé sans rotation ? Sinon, ureadahead va essayer d’optimiser le chargement des fichiers là où il n’y en a pas besoin…

  2. admin dit :

    Temps de boot, de grub jusqu’à l’écran de login (la détection du matériel par la carte mère n’a pas trop d’importance): 20s.

    $ cat /sys/block/sda/queue/rotational
    0

    Ca a l’air bon…

  3. admin dit :

    Ha oui, et j’oubliais: vm.swapiness à 0, pour éviter le vieillissement accéléré à cause du swap.

  4. JN dit :

    20 s ? C’est bon, mais j’imaginais un gain plus appréciable.

    Sur la debian de mon portable (vieux centrino, même pas multicoeur), je suis à 29 s, sans aucune optimisation. Tu as des services spéciaux lancés sur ton PC ? es-tu en limite de débit I/O ?

  5. admin dit :

    Bon, j’ai refait une mesure plus fiable, je suis à 17s.
    C’est mieux qu’avant, mais j’arrive pas à trouver ce qui prend réellement du temps: le serveur X ? l’initialisation matérielle dans le noyau ? Les quelques services ? Ubuntu me masque le boot par défaut en fait.
    Le démarrage des applis est, lui, nettement mieux (firefox démarre presque instantanément). Thunderbird met 1 seconde à apparaître entre le clic et la fenêtre avec tous les éléments.

  6. admin dit :

    …. le serveur X apparait réellement rapidement.

    En fait, j’avais juste à regarder /var/log/kern.log pour avoir une idée plus précise.

    Il me semble qu’il passe du temps (5s !) dans l’USB, mais c’est difficile de savoir si il ne faisait pas autre chose.
    Du temps aussi au chargement du module audio.
    Finalement, ca améliore les accès disques après le boot du noyau, mais ca ne change rien à la détection et l’initialisation du matériel.

    Feb 4 20:30:08 deimos kernel: imklog 5.8.1, log source = /proc/kmsg started.
    Feb 4 20:30:08 deimos kernel: [ 0.000000] Initializing cgroup subsys cpuset
    ….
    Feb 4 20:30:08 deimos kernel: [ 0.472570] io scheduler cfq registered (default)
    ….
    Feb 9 21:09:43 deimos kernel: [ 1.824733] lp: driver loaded but no devices found
    Feb 9 21:09:43 deimos kernel: [ 2.272007] usb 4-2: new low speed USB device number 2 using ohci_hcd
    Feb 9 21:09:43 deimos kernel: [ 5.941181] Adding 4902908k swap on /dev/sda6. Priority:-1 extents:1 across:4902908k SS
    Feb 9 21:09:43 deimos kernel: [ 6.000034] i2c i2c-0: nForce2 SMBus adapter at 0×1c00
    Feb 9 21:09:43 deimos kernel: [ 6.000643] i2c i2c-1: nForce2 SMBus adapter at 0×1c80
    Feb 9 21:09:43 deimos kernel: [ 6.112339] wmi: Mapper loaded
    Feb 9 21:09:43 deimos kernel: [ 6.121913] ACPI: PCI Interrupt Link [AAZA] enabled at IRQ 21
    Feb 9 21:09:43 deimos kernel: [ 6.121921] HDA Intel 0000:00:08.0: PCI INT A -> Link[AAZA] -> GSI 21 (level, low) -> IRQ 21
    Feb 9 21:09:43 deimos kernel: [ 6.121923] hda_intel: Disabling MSI
    Feb 9 21:09:43 deimos kernel: [ 6.121951] HDA Intel 0000:00:08.0: setting latency timer to 64
    Feb 9 21:09:43 deimos kernel: [ 6.130513] [Firmware Bug]: ACPI(IGPU) defines _DOD but not _DOS
    Feb 9 21:09:43 deimos kernel: [ 6.130774] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:09/LNXVIDEO:00/input/input2
    Feb 9 21:09:43 deimos kernel: [ 6.130852] ACPI: Video Device [IGPU] (multi-head: yes rom: no post: no)
    Feb 9 21:09:43 deimos kernel: [ 6.201547] input: Logitech USB Keyboard as /devices/pci0000:00/0000:00:04.0/usb3/3-1/3-1:1.0/input/input3
    Feb 9 21:09:43 deimos kernel: [ 6.201687] generic-usb 0003:046D:C31D.0001: input,hidraw0: USB HID v1.10 Keyboard [Logitech USB Keyboard] on usb-0000:00:04.0-1/input0
    Feb 9 21:09:43 deimos kernel: [ 6.208234] type=1400 audit(1328818182.690:2): apparmor=”STATUS” operation=”profile_load” name=”/sbin/dhclient” pid=720 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.208578] type=1400 audit(1328818182.690:3): apparmor=”STATUS” operation=”profile_load” name=”/usr/lib/NetworkManager/nm-dhcp-client.action” pid=720 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.208792] type=1400 audit(1328818182.690:4): apparmor=”STATUS” operation=”profile_load” name=”/usr/lib/connman/scripts/dhclient-script” pid=720 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.216153] input: Logitech USB Keyboard as /devices/pci0000:00/0000:00:04.0/usb3/3-1/3-1:1.1/input/input4
    Feb 9 21:09:43 deimos kernel: [ 6.216290] generic-usb 0003:046D:C31D.0002: input,hidraw1: USB HID v1.10 Device [Logitech USB Keyboard] on usb-0000:00:04.0-1/input1
    Feb 9 21:09:43 deimos kernel: [ 6.223279] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:06.0/usb4/4-2/4-2:1.0/input/input5
    Feb 9 21:09:43 deimos kernel: [ 6.224089] generic-usb 0003:046D:C00E.0003: input,hidraw2: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:06.0-2/input0
    Feb 9 21:09:43 deimos kernel: [ 6.224959] usbcore: registered new interface driver usbhid
    Feb 9 21:09:43 deimos kernel: [ 6.224962] usbhid: USB HID core driver
    Feb 9 21:09:43 deimos kernel: [ 6.357822] vt6656_stage: module is from the staging directory, the quality is unknown, you have been warned.
    Feb 9 21:09:43 deimos kernel: [ 6.359833] VIA Networking Wireless LAN USB Driver 1.19_12
    Feb 9 21:09:43 deimos kernel: [ 6.359854] VIA Networking Wireless LAN USB Driver Ver. 1.19_12
    Feb 9 21:09:43 deimos kernel: [ 6.359856] Copyright (c) 2004 VIA Networking Technologies, Inc.
    Feb 9 21:09:43 deimos kernel: [ 6.472018] usb 2-3: reset high speed USB device number 3 using ehci_hcd
    Feb 9 21:09:43 deimos kernel: [ 6.527250] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,discard
    Feb 9 21:09:43 deimos kernel: [ 6.608817] usbcore: registered new interface driver vt6656
    Feb 9 21:09:43 deimos kernel: [ 6.623525] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: discard
    Feb 9 21:09:43 deimos kernel: [ 6.884907] EXT3-fs: barriers not enabled
    Feb 9 21:09:43 deimos kernel: [ 6.885193] kjournald starting. Commit interval 5 seconds
    Feb 9 21:09:43 deimos kernel: [ 6.885761] EXT3-fs (sdb4): using internal journal
    Feb 9 21:09:43 deimos kernel: [ 6.885765] EXT3-fs (sdb4): mounted filesystem with ordered data mode
    Feb 9 21:09:43 deimos kernel: [ 6.956007] hda_codec: ALC662 rev1: BIOS auto-probing.
    Feb 9 21:09:43 deimos kernel: [ 6.984446] type=1400 audit(1328818183.466:5): apparmor=”STATUS” operation=”profile_replace” name=”/sbin/dhclient” pid=996 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.984816] type=1400 audit(1328818183.466:6): apparmor=”STATUS” operation=”profile_replace” name=”/usr/lib/NetworkManager/nm-dhcp-client.action” pid=996 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.985033] type=1400 audit(1328818183.466:7): apparmor=”STATUS” operation=”profile_replace” name=”/usr/lib/connman/scripts/dhclient-script” pid=996 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.992556] type=1400 audit(1328818183.474:8): apparmor=”STATUS” operation=”profile_load” name=”/usr/bin/evince” pid=1004 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.998151] type=1400 audit(1328818183.478:9): apparmor=”STATUS” operation=”profile_load” name=”/usr/bin/evince-previewer” pid=1004 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 6.999207] type=1400 audit(1328818183.478:10): apparmor=”STATUS” operation=”profile_load” name=”/usr/lib/lightdm/lightdm-guest-session-wrapper” pid=995 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 7.003036] type=1400 audit(1328818183.482:11): apparmor=”STATUS” operation=”profile_load” name=”/usr/bin/evince-thumbnailer” pid=1004 comm=”apparmor_parser”
    Feb 9 21:09:43 deimos kernel: [ 7.172219] init: failsafe main process (950) killed by TERM signal
    Feb 9 21:09:43 deimos kernel: [ 7.172992] init: apport pre-start process (1050) terminated with status 1
    Feb 9 21:09:43 deimos kernel: [ 7.173332] init: alsa-restore main process (1055) terminated with status 19
    Feb 9 21:09:43 deimos kernel: [ 7.182366] init: apport post-stop process (1074) terminated with status 1
    Feb 9 21:09:43 deimos kernel: [ 7.265241] Config_FileOperation file Not exist
    Feb 9 21:09:43 deimos kernel: [ 7.346810] Bluetooth: Core ver 2.16
    Feb 9 21:09:43 deimos kernel: [ 7.346850] NET: Registered protocol family 31
    Feb 9 21:09:43 deimos kernel: [ 7.346851] Bluetooth: HCI device and connection manager initialized
    Feb 9 21:09:43 deimos kernel: [ 7.346854] Bluetooth: HCI socket layer initialized
    Feb 9 21:09:43 deimos kernel: [ 7.346855] Bluetooth: L2CAP socket layer initialized
    Feb 9 21:09:43 deimos kernel: [ 7.347190] Bluetooth: SCO socket layer initialized
    Feb 9 21:09:43 deimos kernel: [ 7.349290] Bluetooth: RFCOMM TTY layer initialized
    Feb 9 21:09:43 deimos kernel: [ 7.349293] Bluetooth: RFCOMM socket layer initialized
    Feb 9 21:09:43 deimos kernel: [ 7.349295] Bluetooth: RFCOMM ver 1.11
    Feb 9 21:09:43 deimos kernel: [ 7.369016] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    Feb 9 21:09:43 deimos kernel: [ 7.369019] Bluetooth: BNEP filters: protocol multicast
    Feb 9 21:09:43 deimos kernel: [ 7.400397] input: HDA NVidia Headphone as /devices/pci0000:00/0000:00:08.0/sound/card0/input6
    Feb 9 21:09:43 deimos kernel: [ 7.424668] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
    Feb 9 21:09:43 deimos kernel: [ 7.434877] nvidia: module license ‘NVIDIA’ taints kernel.
    Feb 9 21:09:43 deimos kernel: [ 7.434882] Disabling lock debugging due to kernel taint
    Feb 9 21:09:44 deimos kernel: [ 7.530149] Zone=[2][E][U]!!
    Feb 9 21:09:44 deimos kernel: [ 7.666366] Config_FileOperation file Not exist
    Feb 9 21:09:44 deimos kernel: [ 7.891824] ACPI: PCI Interrupt Link [AIGP] enabled at IRQ 20
    Feb 9 21:09:44 deimos kernel: [ 7.891830] nvidia 0000:03:00.0: PCI INT A -> Link[AIGP] -> GSI 20 (level, low) -> IRQ 20
    Feb 9 21:09:44 deimos kernel: [ 7.891837] nvidia 0000:03:00.0: setting latency timer to 64
    Feb 9 21:09:44 deimos kernel: [ 7.891842] vgaarb: device changed decodes: PCI:0000:03:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
    Feb 9 21:09:44 deimos kernel: [ 7.908112] NVRM: loading NVIDIA UNIX x86 Kernel Module 173.14.30 Thu Apr 14 08:47:14 PDT 2011
    Feb 9 21:09:44 deimos kernel: [ 7.931267] Zone=[2][E][U]!!
    Feb 9 21:09:44 deimos kernel: [ 8.121820] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,discard,commit=0
    Feb 9 21:09:44 deimos kernel: [ 8.124994] EXT4-fs (sda5): re-mounted. Opts: discard,commit=0
    Feb 9 21:09:45 deimos kernel: [ 8.666970] ppdev: user-space parallel port driver
    Feb 9 21:09:45 deimos kernel: [ 8.667347] init: udev-fallback-graphics main process (1232) terminated with status 1
    Feb 9 21:09:46 deimos kernel: [ 9.744373] init: plymouth-upstart-bridge main process (986) killed by TERM signal
    Feb 9 21:09:46 deimos kernel: [ 10.206710] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro,discard,commit=0
    Feb 9 21:09:46 deimos kernel: [ 10.219539] EXT4-fs (sda5): re-mounted. Opts: discard,commit=0
    Feb 9 21:09:47 deimos kernel: [ 10.662917] Scanning [gisQJ)F|TvZ.c3] not found, disconnected !
    Feb 9 21:09:55 deimos kernel: [ 18.688004] eth0: no IPv6 routers present
    Feb 9 21:09:55 deimos kernel: [ 18.856004] eth1: no IPv6 routers present

  7. JN dit :

    Pour des informations plus intelligibles, il faut installer et utiliser le paquet “bootchart”

  8. admin dit :

    @JN En effet.
    J’ai mis à jour l’article avec le bootchart.