non. Le compromis se situe entre l’endurance et la performance en écriture d’une part, et la capacité disponible d’autre part. La performance en écriture, c’est la vitesse d’écriture qui a tendance à diminuer à cause du phénomène d’amplification lorsque l’espace libre diminue.
J’ai suivi le lien jugé parfait de mon tout premier message puis j’ai vérifié que l’option “discard” fonctionnait (un message précédent) et comme c’est le cas, je l’ai préférée au “fstrim” de l’amorçage (rc.local) et/ou en entrée crontab.
Je regrette de n’avoir pas prévu un espace non-alloué plus grand car je suis fan de matériel endurant et de très basse consommation également, au détriment de la performance (autre sujet).
J’ai besoin de faire la manipulation évoquée avec PascalHambourg pour TRIMer mon espace non alloué mais qui a déjà servi (donc qui fut alloué) pour pouvoir poursuivre. Cette manipulation est importante ; Elle signifie brièvement “désallouer” complètement (libérer) des cellules qui pourraient être considérées comme occupées - ou avoir été occupées - et ainsi les rendre à l’espace libre de rotation pour le nivellement. (de ce que j’ai compris)
J’ai évoqué avoir déporté sur un disque mécanique les métadonnées de mon serveur Plex ; Ces métadonnées peuvent représenter un très grand nombre d’écritures pour de grandes bibliothèques de médias.
Dans le même ordre d’idée, il est bon de penser à limiter les grandes séries d’écritures (ordonnancées ou manuelles) et tout comme pour mon Plex, déporter sur un mécanique les “bases de données” diverses qui pourraient être souvent sujettes à (ré)écriture.
Mais il ne s’agit pas de craindre sans raison ; suivant son matériel et la taille de l’espace non alloué, il n’y a pas le feu au lac
“smartctl” indique, comme évoqué, le niveau de vie SSD. Encore faut-t’il arriver à interpréter la sortie.
Je n’ai pas à dire davantage, donner des commandes ; je suis débutant et je cherche ; c’est mon tout premier SSD.
@PascalHambourg, pour la manipulation “TRIMer une partition ou un espace non alloué qui a servi”
J’ai ma partition sdc2 non formatée qui sert d’espace de rotation pour le nivellement de l’usure.
Le paramètre --write-sector de hdparm n’écrira que des zéro (man) ; donc ce ne sera pas vérifiable.
Il ne me reste que la possibilité de la formater pour appliquer la procédure décrite (vérification) :
https://nedoboi.wordpress.com/2011/11/12/tiny-tips-ssd-and-linux-enable-trim-and-check-if-it-works/
Puis de la supprimer pour vérifier les valeurs du secteur écrit.
Mais je crains l’hypothèse où cela ne marche pas, où je retrouve mes valeurs du secteur écrit et de ce fait d’avoir alloué tout le disque SSD.
Et
Ne me donne pas envie du tout, je ne serai pas capable de l’utiliser sans aide. Cette option me fait peur.
Je décide de créer une petite partition (10MiB) et de la formater pour faire le test ;
Après effacement du fichier testfile.txt, effacement de la petite partition, les données du secteur écrit sont restées intactes.
Je n’ai pas vraiment envie d’utiliser la méthode sous-optimale et je crois qu’il va m’en falloir passer par “–trim-sector-ranges” et effectivement :
Alternative : BLKDISCARD(8) ?
J’ai essayé pour la partition sdc2 non formatée de type Linux de 46,6G (notation fdisk)
root@n73sm:~# blkdiscard -s -v /dev/sdc2
blkdiscard: /dev/sdc2 : échec d'ioctl BLKSECDISCARD: Opération non supportée
root@n73sm:~#
root@n73sm:~# blkdiscard -v /dev/sdc2
/dev/sdc2: 49999601664 octets abandonnés à partir de la position 0
root@n73sm:~#
L’option “–secure” n’est pas supportée par ma chaîne contrôleur AHCI 1.0 - SSD MX100
Je crois que “blkdiscard” est un bon outil pour TRIMer (libérer des cellules). Le secteur écrit évoqué est bien lu comme des valeurs zéro après. (avec “le bon goût de mon SSD” pour le faire)
attention : la commande “blkdiscard” abandonne définitivement les données sur le périphérique invoqué. Les données sont définitivement perdues.
Bien vu pour la commande blkdiscard
que je ne connaissais pas.
Il faut penser à l’exécuter sur une partition avant de la supprimer. Après, c’est trop tard.
Par contre je trouve que la traduction de “discard” par “abandonner” n’est pas très heureuse. On pourrait presque croire que la commande a abandonné…
Merci PascalHambourg, je suis moi-même fier de cette recherche.
Je ne pense pas du tout ; lors de mes essais, j’ai créé plusieurs fois des petites partitions de tests que j’ai libéré avec “blkdiscard” puis effacé avec fdisk. Ce qui ne m’a nullement empêché de recréer une partition non formatée pour tout l’espace dédié à la rotation et de la libérer ensuite comme le montre ma commande précédente.
Il n’y a pas de trop tard pour libérer des cellules avec l’outil “blkdiscard” ; Cet outil peut aussi libérer les cellules d’une partition formatée.
Également, le terme “libérer” pour les cellules me convient mieux que l’abandon.
C’est bien ce que je voulais dire : d’abord on applique blkdiscard
sur la partition à supprimer et seulement ensuite on la supprime avec fdisk
ou équivalent. Si on supprime la partition d’abord, on n’a plus les références de sa position pour savoir quels secteurs TRIMer. C’est dans ce sens que j’écrivais “c’est trop tard”. Certes on peut recréer une partition temporaire dans tout l’espace non alloué du disque juste pour lui appliquer blkdiscard
, mais c’est du travail en plus.
Merci pour ta réponse r2mi, je reprends une partie de ton message là en dessous stp.
Pile poil, du coup c’est ça qui m’intéresse, tu peux me dire comment tu fais pour les interpréter stp ? (précisément, en une seule fois si possible, genre une réponse la plus complète possible comme ça on allourdi pas le forum, et ce sera baclé pour moi et aussi pour tous lecteurs intéressés par ta solution évidemment), je te dis merci d’avance r2mi, par contre ça presse pas, prend ton temps… à+…
SylvainMuller,
As-tu essayé de comprendre par toi-même ?
As-tu étudié la sortie de smartctl
de ton SSD ?
Le Net regorge de questions et de ressources à ce propos.
Je n’ai pas à “bâcler” le fil avec UNE solution. Je n’en ai pas. Et si je peux me permettre : je réponds comme je peux et aussi comme je veux.
Les SSD sont différents et je n’en ai qu’un.
Je ne ne vais pas non plus traduire des articles pêchés ci ou là.
https://www.debian-fr.org/ssd-la-documentation-et-les-conseils-installation-t52392.html#p520674
Attributs S.M.A.R.T. connus (Wikipédia) :
https://fr.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology#Attributs_S.M.A.R.T._connus
&
http://smartlinux.sourceforge.net/smart/attributes.php
À voir également ; et qui peut s’avérer être un moyen facile de juger du niveau de vie d’un SSD :
root@n73sm:/home/rem# smartctl /dev/sdc -l ssd
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
Device Statistics (GP Log 0x04)
Page Offset Size Value Description
7 ===== = = == Solid State Device Statistics (rev 1) ==
7 0x008 1 4~ Percentage Used Endurance Indicator
|_ ~ normalized value
le paramètre
-l ssd
pour la commande smartctl
semblerait m’indiquer une utilisation de l’endurance de mon SSD de 4%.
Le renvoi “|_” montre que la tilde (~) indique une valeur normalisée (normalized value).
Je ne sais pas comprendre le sens de “valeur normalisée”. Il s’agit peut-être d’un simple arrondi.
Merci.
Est-ce qu’un membre instruit sur le sujet peut nous mettre un ou deux exemples clairs, (pour néophytes totaux svp (ou toto!)), de résultats de la commande [mono]smartctl[/mono] et de l’interprétation de ces résultats pour un, (ou deux donc), disque(s) dur(s) SSD différents s’il vous plaît ? Afin de nous faire progresser, de nous transmettre un enseignement à ce sujet s’il vous plaît.
Merci beaucoup d’avance pour l’aide et/ou pour toutes interventions basées sur le sujet bien évidemment.
Pour avoir un aperçu graphique et en français de l’état de santé de votre SSD (depuis ses propres données S.M.A.R.T) :
how-do-i-check-the-health-of-a-ssd
Indique d’installer le paquet gnome-disk-utility
(Sous Cinnamon, je n’ai pas eu de paquets dépendants à installer)
Puis de lancer [mono]palimpsest[/mono]
N’essayez pas de lancer [mono]palimpsest[/mono] avec Jessie ; [mono]/usr/bin/gnome-disks[/mono] le remplace.*
Je suis avec Jessie donc je ne peux pas prouver que [mono]palimpsest[/mono] va fonctionner avec des versions antérieures de la même manière que [mono]/usr/bin/gnome-disks[/mono] fonctionne.
J’ai utilisé [mono]/usr/bin/gnome-disks[/mono]
Sélectionnez votre SSD dans la colonne à gauche mentionnant vos disques.
Cliquez sur le bouton à triple barres horizontales dans la barre haute de la fenêtre et choisissez “Données SMART et autotests…”
Suivant votre gestionnaire de fenêtres, vous pouvez étirer la nouvelle fenêtre apparue à partir de son coin inférieur droit et également la déplacer par son bandeau.
Et vous avez ainsi des informations techniques précises traduites et également globales (en entête) sur votre SSD ; D’après ses propres données S.M.A.R.T
Vous avez aussi en colonne tout à droite une “estimation” donnée pour les valeurs des attributs.
N’ayant que des “OK” en estimation je ne peux pas vous donner d’information sur une quelconque autre valeur d’estimation pouvant être affichée.
Ce dialogue est affiché avec des données globales en tête puis un tableau avec les colonnes :
ID (d’attribut) - (Nom d’)Attribut - Valeur - Normalisée - Seuil - La pire - Type - Mise à Jour - Estimation
Soit 9 (neuf) colonnes d’informations Francisées.
Je n’ai nullement lancé l’auto-test ; celui-ci étant mentionné être "effectué avec succès"
J’aime cet affichage mais je n’ai pas envie de lui donner un auto-test à faire.
Je n’ai pas la prétention de pouvoir bien expliquer l’utilité ou même le sens exact des registres des SSD.
Il n’empêche que cet outil change agréablement de la simple commande [mono]smartctl[/mono] dans un terminal
Mais il me reste quelques Attributs Non Déterminés (N/D) avec cet outil.
Merci bcp r2mi
Merci pour ce sujet, je viens de réinstaller une Jessie sur mon 120 GB (128GB) SSD ce matin.
Je vais tout relire pour éviter une usure trop rapide du disque.
Bonjour Necromago
Et Super ! Que le fil revive !
Alors c’est une ébauche quand même, parce que il faut en sortir ce qu’il te faut parmi des fautes et des égarements.
N’hésite pas à compléter avec ton expérience, la manière que tu as choisi d’adopter, sans oublier tes références techniques.
À bientôt Necromago
Tout d’abord un petit smartctl
root@Notebook:~# smartclt
=== START OF INFORMATION SECTION ===
Device Model: SPCC Solid State Disk
Serial Number: 028F07590B6400060074
Firmware Version: S9FM02.5
User Capacity: 120 034 123 776 bytes [120 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 (minor revision not indicated)
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Thu Jul 7 17:53:09 2016 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Le SSD est un 120 Go donc, avec 8Go cachés qui sont gérés automatiquement par le système interne au SSD, pour les cellules défectueuses…
J’ai utilisé l’optimisation également trouvé ici : Optimiser un disque dur SSD sous Debian, Linux Mint, Ubuntu, et dérivés (dmesg.fr:~#)
Hormis la fin pour le cache du navigateur web, je n’ai pas encore fait.
Plutôt 17 Go, si la capacité brute de la mémoire flash incluse dans ce SSD est 128 Gio, soit 137 Go.
Cette “surprovision” ne sert pas seulement au remplacement des blocs défectueux mais aussi et surtout à diverses techniques d’optimisation liées aux particularités de l’écriture dans la mémoire flash.
Bonjour,
Merci pour le lien que tu as trouvé Necromago.
Je n’ai pas de /etc/rc.local sous Gentoo, le système installé où le SSD fonctionne désormais.
J’ai ma ligne /etc/fstab (noter le discard) ;
édition : ce discard n’est pas obligatoire (See http://www.spinics.net/lists/raid/msg40866.html)
The “discard” options is not needed if your SSD has enough overprovisioning (spare space) or you leave (unpartitioned) free space on the SSD.
https://wiki.debian.org/SSDOptimization
/dev/sdc3 / ext4 noatime,discard,user_xattr 0 1
J’ai placé mon /proc/sys/vm/swappiness à 10 ; ayant 12 GB de RAM et ayant des services actifs h24
Depuis que j’ai utilisé le cache tmpfs taillé à 1000 Mo pour Chrome, j’ai une navigation bien chargée plus souple.
C’est assez formidable
J’aimerai beaucoup en faire autant pour Firefox ; je vais étudier la question.
édition : j’utilise le paquet www-misc/profile-sync-daemon pour avoir le Profil de Firefox en volatile (et en Sync)
Je n’utilise pas profile-sync-daemon pour les profils de Chrome en volatils ;
# /etc/psd.conf
# Uncomment and select which browsers to manage if you wish
# Otherwise all available/supported browsers will be managed
# which **is NOT recommended if users have many browser profiles**
BROWSERS="firefox"
Mon système où est placé et qui utilise le SSD m’indique avec smartctl
n73sm ~ # smartctl -l ssd /dev/sdc3
smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.15-gentoo-r1] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org
Device Statistics (GP Log 0x04)
Page Offset Size Value Flags Description
0x07 ===== = = === == Solid State Device Statistics (rev 1) ==
0x07 0x008 1 4 N-- Percentage Used Endurance Indicator
|||_ C monitored condition met
||__ D supports DSN
|___ N normalized value
La traduction de la valeur normalisée (N) de «Percentage Used Endurance Indicator» m’est encore difficile.
Au mieux je trouve «Indicateur de pourcentage d’endurance utilisée»
J’y vois que mon SSD ne dispose pas des drapeaux C & D
édition : il y a tout un tas de choses intéressantes à https://wiki.debian.org/SSDOptimization
Mon portable a fêté bravement son troisième anniversaire et je mentionne à nouveau qu’il est équipé d’un contrôleur matériel AHCI version 1.0 en version de vitesse 300 Mbps.
Il y a des points communs entre les distros, pour dire un lieu commun.
Et pouvoir continuer ce fil tranquillement, avec l’envie qui prend
Bonne journée
Bonjour,
le lien vers “dmesg.fr” étant down…
J’ai trouvé ceci pour ajouter au fil de ce sujet (daté du 21 Avr 2016) : SSD Linux Guide Ultime
Bonjour,
Merci pour ton lien @Necromago
Je n’ai plus la main sur les posts anciens ; le délai d’édition doit être dépassé.
Il y a plusieurs liens morts dans le fil.
J’ai par exemple réussi à retrouver une copie de la page :
http://www.dmesg.fr/gestion-hardware/144-optimiser-un-disque-dur-ssd-sous-debian-linux-mint-ubuntu-et-derives
en date du 24 juillet 2017 avec https://www.web.archive.org/ (Internet Archive Wayback Machine)
Le lancement hebdomadaire (la bonne fréquence) de trim se fait en activant fstrim.timer (du paquet util-linux )
$ systemctl |grep 'trim'
UNIT LOAD ACTIVE SUB DESCRIPTION
fstrim.timer loaded active waiting Discard unused blocks once a week
$ systemctl status fstrim
● fstrim.service - Discard unused blocks
Loaded: loaded (/lib/systemd/system/fstrim.service; static; vendor preset: enabled)
Active: inactive (dead)
$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim
[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true
[Install]
WantedBy=timers.target