Ubuntu SSD - War schnell, ist jetzt extrem langsam


12

Das bekomme ich jetzt mit einer Crucial MX300 750 GB SSD (mit der neuesten Firmware [es gibt noch keine Firmware-Updates]).

lptp [ blah ]: sudo hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   10202 MB in  2.00 seconds = 5103.20 MB/sec
 Timing buffered disk reads: 128 MB in  3.06 seconds =  41.88 MB/sec

Sehen Sie die gepufferte Lesegeschwindigkeit der Festplatte !!!! SOOOO SLOWWW !!!! Als ich meinen Laptop zum ersten Mal einrichtete, sah ich über 400 MB / s, was für mich vollkommen in Ordnung war, wenn man bedenkt, dass es sich um einen älteren Laptop handelt und alles gut verschlüsselt ist.

Das ist mein /etc/fstab. Ich habe Trimmen aktiviert, Trimmen manuell ausgeführt, Funktionen aktiviert / deaktiviert, neu gestartet, alles. Ich kann diese schnellen Geschwindigkeiten nicht zurückbekommen:

/dev/mapper/ubuntu--gnome--vg-root /               ext4    noatime,nodiratime,errors=remount-ro,barrier=0,discard 0       1

Nur damit klar ist, sind dies die Optionen, die ich verwende. Ich habe verschiedene Kombinationen davon ohne Erfolg ausprobiert:

noatime,nodiratime,errors=remount-ro,barrier=0,discard

Irgendwelche Tipps? Das macht mich verrückt.

Außerdem verwende ich Ubuntu 16.04 (x64) auf einem Lenovo T420 mit 16 GB RAM und einem i7-Prozessor:

 lptp [ blah ]: lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:    16.04
Codename:   xenial

Smartctl-Ausgabe:

 lptp [ blah ]: sudo smartctl /dev/sda -a
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-38-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     Crucial_CT750MX300SSD1
Serial Number:    XXXXXX
LU WWN Device Id: 5 XXXXX XXXXXXX
Firmware Version: M0CR011
User Capacity:    750,156,374,016 bytes [750 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 T13/2161-D revision 5
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Nov  1 21:22:05 2016 CDT
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

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        ( 1987) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    (  10) minutes.
Conveyance self-test routine
recommended polling time:    (   3) minutes.
SCT capabilities:          (0x0035) SCT Status supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   010    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       52
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       41
171 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1
174 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       11
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   059   052   000    Old_age   Always       -       41 (Min/Max 21/48)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age   Always       -       0
202 Unknown_SSD_Attribute   0x0030   100   100   001    Old_age   Offline      -       0
206 Unknown_SSD_Attribute   0x000e   100   100   000    Old_age   Always       -       0
246 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       138859820
247 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       4354463
248 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       1675456
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033   000   000   000    Pre-fail  Always       -       3558
210 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Was mich umbringt ist, dass es eine Weile gearbeitet hat . Es hat an einem Tag funktioniert und am nächsten aufgehört, und ich habe nicht einmal etwas getan (was mir einfällt), das es hätte ändern sollen.

AKTUALISIEREN

Getestet ein bestimmtes Gerät ( /dev/sda1), aber die gleichen langsamen Ergebnisse:

lptp [ ~ ]: sudo hdparm -Tt /dev/sda1

/dev/sda1:
 Timing cached reads:   13130 MB in  2.00 seconds = 6568.77 MB/sec
 Timing buffered disk reads: 128 MB in  3.06 seconds =  41.79 MB/sec

AKTUALISIEREN

Auch auf einer logischen Partition getestet:

 lptp [ ~ ]: sudo hdparm -Tt /dev/mapper/ubuntu--gnome--vg-root 

/dev/mapper/ubuntu--gnome--vg-root:
 Timing cached reads:   11468 MB in  2.00 seconds = 5736.85 MB/sec
 Timing buffered disk reads: 178 MB in  3.04 seconds =  58.47 MB/sec

UPDATE- ddTest

Dieser Test zeigt, dass es noch langsamer ist als hdparm zeigt ...

 lptp [ blah ]:  dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc status=progress
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 35.0156 s, 30.7 MB/s
 lptp [ blah ]: sudo bash -c "echo 3 > /proc/sys/vm/drop_caches"
 lptp [ blah ]: dd if=tempfile of=/dev/null bs=1M count=1024 status=progress
1066401792 bytes (1.1 GB, 1017 MiB) copied, 34.0193 s, 31.3 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 34.256 s, 31.3 MB/s

UPDATE: Partitionsausrichtung

Hier ist die Partitionsausrichtung auf meinem Laptop:

lptp [ ~ ]: sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: ATA Crucial_CT750MX3 (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type      File system  Flags
 1      1049kB  512MB  511MB  primary   ext2         boot
 2      513MB   750GB  750GB  extended
 5      513MB   750GB  750GB  logical

(parted) align-check opt 1                                                       
1 aligned
(parted) align-check opt 2
2 not aligned
(parted) align-check opt 5
5 aligned
(parted)

Ich bin mir nicht sicher, was ich davon halten soll, wenn Partition 2 nicht ausgerichtet ist: ^ / aber Partitionen 1 und 5 sind es.

Hier sind auch die Partitionen von fdisk -l

Device     Boot   Start        End    Sectors   Size Id Type
/dev/sda1  *       2048     999423     997376   487M 83 Linux
/dev/sda2       1001470 1465147391 1464145922 698.2G  5 Extended
/dev/sda5       1001472 1465147391 1464145920 698.2G 83 Linux

UPDATE: BEHOBEN? Ich habe den Scheduler in einen Noop-Scheduler geändert (anstelle der Frist). Das scheint funktioniert zu haben (hat dies getan, indem man /etc/default/grubdie Zeile geändert hat:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

Und dann Grub mit aktualisieren sudo update-grub2und neu starten.

Ich werde ein paar Tage warten, um zu sehen, ob es nach ein paar weiteren Neustarts / Anwendungen funktioniert, bevor ich eine Antwort gebe und sie akzeptiere.

Aktuelle Geschwindigkeiten jetzt nach dem Ändern des Schedulers:

 lptp [ ~ ]: sudo hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   12388 MB in  2.00 seconds = 6197.19 MB/sec
 Timing buffered disk reads: 1454 MB in  3.00 seconds = 484.59 MB/sec

Optionen in fstab sind:

noatime,nodiratime,errors=remount-ro,barrier=0

Geben Sie hier die Bildbeschreibung ein

"FIX" UPDATE

Nachdem Sie es ein wenig verwendet und einige Male neu gestartet haben, ist es wieder auf die langsamen Geschwindigkeiten eingestellt :( :( :( :( :( :( :(

UPDATE - MÖGLICH "FIX"

Ich hatte den Gedanken, dass mein Laptop möglicherweise einige Optimierungen zum Energiesparen vornimmt, wenn er gestartet wird und der Akku leer ist. Nach einem einfachen Bootstest mit angeschlossenem Ladegerät ist die Geschwindigkeit wieder erreicht. Ich bin mir ziemlich sicher, dass dies der Fall ist - die ganze Zeit über wurde das Ladegerät mit hoher Geschwindigkeit getestet. Ich werde noch ein paar Tests durchführen, um dies zu überprüfen, aber ich bin mir ziemlich sicher, dass dies die Verlangsamung verursacht hat.


Was passiert, wenn Sie die Geschwindigkeit für eine bestimmte Partition testen, z. B. /dev/sda1anstelle von /dev/sda?
Thomasrutter

gute Frage - Ich werde es versuchen und meine Frage aktualisieren
d0c_s4vage

Auch auf der logischen Partition zB/dev/mapper/ubuntu--gnome--vg-root
Thomasrutter

getestet /dev/sda1, werde auch die logische Partition testen
d0c_s4vage

k, beide getestet, kein Glück: 6 /
d0c_s4vage

Antworten:


17

Die schnelle Antwort:

sudo hdparm -B254 /dev/sda

Die lange Antwort:

Es scheint, dass Linux oder Laptops im Allgemeinen (sowohl bei Lenovo als auch bei Dells überprüft) beim Booten mit Akku standardmäßig die APM-Stufe 80h (128) und beim Booten mit Wechselstrom FEh (254) verwenden.

Bei den meisten SSDs werden Sie keinen großen Unterschied feststellen. Lite-on-SSDs scheinen die Energieverwaltung überhaupt nicht zu unterstützen und laufen immer mit maximaler Geschwindigkeit. Intel SSDs scheinen auf APM-Stufe 128 mit etwa 75% voller Geschwindigkeit und auf APM-Stufe 254/255 mit 100% Geschwindigkeit zu laufen. Entscheidende SSDs scheinen jedoch bei APM-Stufe 128 (mit Batterie gestartet) mit etwa 6% voller Geschwindigkeit zu laufen, verglichen mit APM-Stufe 254 (mit Wechselstrom gestartet).

Die schlechte Nachricht ist, dass es hier keinen Fehler und keinen Fehler gibt. Die ATA-Spezifikation ist so vage, dass Crucial-SSDs, die im APM-Modus 128 sehr langsam laufen, zulässig sind und der Spezifikation entsprechen. Ebenso ist ein Laptop, der standardmäßig die APM-Stufe 80h (128) verwendet, durchaus sinnvoll. Die Spezifikation sagt nur:

Tabelle 106 - APM-Pegel
COUNT-Feld Level
00h Reserviert
01h Minimaler Stromverbrauch im Standby-Modus
02h..7Fh Intermediate Power Management Levels mit Standby-Modus
80h Minimaler Stromverbrauch ohne Standby-Modus
81h..FDh Intermediate Power Management Levels ohne Standby-Modus
FEh Maximale Leistung
FFh Reserviert

(Aus der ATA-Spezifikation )

Hier ist meine Erfahrung mit einer Crucial MX300 SSD, die im Akkubetrieb gestartet wurde:

root@ubuntu:~# hdparm -B /dev/sda

/dev/sda:
 APM_level  = 128

root@ubuntu:~# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  94 MB in  3.02 seconds =  31.11 MB/sec

root@ubuntu:~# hdparm -B254 /dev/sda

/dev/sda:
 setting Advanced Power Management level to 0xfe (254)
 APM_level  = 254

root@ubuntu:~# hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads: 1466 MB in  3.00 seconds = 488.44 MB/sec

Gleiches: (Entschuldigung für fehlende Formatierung, Einzug scheint in Kommentaren nicht zu funktionieren) $ sudo hdparm -t / dev / sdb2 / dev / sdb2: Timing gepufferte Festplattenlesevorgänge: 76 MB in 3,01 Sekunden = 25,23 MB / s $ sudo hdparm -t / dev / sda3 $ sudo hdparm -B / dev / sdb / dev / sdb: APM_level = 128 $ sudo hdparm -B254 / dev / sdb / dev / sdb: Einstellung der erweiterten Energieverwaltungsstufe auf 0xfe (254) APM_level = 254 $ sudo hdparm -t / dev / sdb2 / dev / sdb2: Timing gepufferte Festplatten liest: 1448 MB in 3,00 Sekunden = 482,28 MB / s
KevinButler

Beeindruckend. Einfach wow. Diese Antwort ist immens hilfreich. Eine weitere Sache: Wenn Sie GNOME verwenden, können Sie mit dem Festplatten-Dienstprogramm die APM-Ebene auf der GUI festlegen.
Venemo

Ich denke nicht, dass es eine vollständige Antwort ist, da ich das gleiche Problem auf Samsung SSD 840 EVO 120 GB ( APM_level = not supported) auf einem Desktop-PC bekomme (dh niemals auf Akku). Es muss populärere Gründe für Leseverlangsamungen geben.
23.

5

Möglicherweise möchten Sie die Datei /etc/hdparm.conf überprüfen, in der Sie die APM-Stufe für den Stromversorgungs- und Batteriemodus konfigurieren können.

Hinzufügen

apm = 254
apm_battery = 254

zu /etc/hdparm.conf


3

Ich stellte immer wieder fest, dass ich in der Lage war, die hohen Geschwindigkeiten zu erreichen, als ich den Laptop beim Anschließen startete. Wenn ich den Laptop startete, während der Akku leer war, und dann eingesteckt wurde, blieb ich bei den langsamen Geschwindigkeiten hängen.

Dies war möglicherweise etwas Besonderes für meinen Laptop (Lenovo T420). Ich habe alle BIOS-Einstellungen geändert, um keinen Strom zu sparen und maximale Leistung zu erzielen. Dies ließ jedoch nicht die hohen Geschwindigkeiten zu, wenn nur der Akku verwendet wurde. Ich musste beim Booten noch eingesteckt sein, um die hohen Geschwindigkeiten zu erreichen.

Noch ein Hinweis: Ich kann beim Booten angeschlossen werden und nach dem Booten den Laptop ausstecken. Der Laptop behält die hohen Geschwindigkeiten bei, bis er das nächste Mal hochfährt.

ANTWORT : Beim Booten eingesteckt sein.


0

Bitte verwenden Sie einen ausreichend neuen Kernel (v4.15 +) und versuchen Sie, med_power_with_dipm für Ihren Crucial MX300 zu verwenden.

LPM min_power funktioniert nicht für alle Treiber. Wenn med_power_with_dipm für Sie funktioniert, sollten wir eine neue Eigenart verwenden, damit es bei Auswahl von min_power auf med_power_with_dipm zurückgreift.

Bitte melden Sie auch einen Fehler bei Launchpad an, damit Ubuntu-Kernel-Ingenieure den Fehler beheben oder das Problem in den Upstream bringen können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.