Extrem langsame SSD-Schreibgeschwindigkeiten (SanDisk SD8TB8U5) bei der brandneuen Installation von Linux Mint 18.2

7

Ich habe kürzlich Linux Mint 18.2 auf einem brandneuen PC mit 2 SanDisk-SSDs installiert. Die Installation wurde ohne Fehler abgeschlossen.

Nachdem ich die gesamte auf diesem neuen PC benötigte Software eingerichtet habe, habe ich festgestellt, dass die Leistung der Festplatte absurd langsam ist - insbesondere die Schreibgeschwindigkeit. Zum Beispiel , ddum zeige 3,5MB / s im Durchschnitt :

$ dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync
256+0 records in
256+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 61.9192 s, 4.3 MB/s

$ dd bs=1M count=256 if=/dev/urandom of=test conv=fdatasync
256+0 records in
256+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 86.7794 s, 3.1 MB/s

Ich bin mir nicht sicher, wo ich überhaupt anfangen soll, dies zu diagnostizieren oder zu beheben. Es macht diesen ansonsten sehr schnellen PC fast unbrauchbar.

Das installierte Dateisystem ist ext4 und wird mit Optionen noatime,errors=remount-roin gemountet /etc/fstab.

Ich habe versucht, Advanced Power Management ( hdparm -B 254 /dev/sda) zu verringern / zu deaktivieren, und ich habe TRIM auch manuell auf dem Root-Befehl fs ( fstrim /) ausgeführt. Beides schien keinen Unterschied zu machen.

Ich bin mir ziemlich sicher, dass es nicht 15 Sekunden dauern sollte, um eine 25-MB-Datei auf dieselbe Festplatte und Partition wie die Originaldatei selbst zu kopieren:

$ stat test
  File: 'test'
  Size: 26214400    Blocks: 51200      IO Block: 4096   regular file
Device: 801h/2049d  Inode: 10880436    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/     aps)   Gid: ( 1000/     aps)
Access: 2017-10-14 15:48:24.460658106 -0500
Modify: 2017-10-14 15:37:22.577357279 -0500
Change: 2017-10-14 15:37:22.577357279 -0500
 Birth: -

$ \time -v cp test test.out
  Command being timed: "cp test test.out"
  User time (seconds): 0.03
  System time (seconds): 0.00
  Percent of CPU this job got: 0%
  Elapsed (wall clock) time (h:mm:ss or m:ss): 0:14.36
  Average shared text size (kbytes): 0
  Average unshared data size (kbytes): 0
  Average stack size (kbytes): 0
  Average total size (kbytes): 0
  Maximum resident set size (kbytes): 2188
  Average resident set size (kbytes): 0
  Major (requiring I/O) page faults: 0
  Minor (reclaiming a frame) page faults: 134
  Voluntary context switches: 1452
  Involuntary context switches: 1
  Swaps: 0
  File system inputs: 0
  File system outputs: 51200
  Socket messages sent: 0
  Socket messages received: 0
  Signals delivered: 0
  Page size (bytes): 4096
  Exit status: 0

hdparm zeigt die folgenden Details:

$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
  Model Number:       SanDisk SD8TB8U512G1001                 
  Serial Number:      165125801567        
  Firmware Revision:  X4133101
  Media Serial Num:   
  Media Manufacturer: 
  Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
  Used: unknown (minor revision code 0x0110) 
  Supported: 9 8 7 6 5 
  Likely used: 9
Configuration:
  Logical   max current
  cylinders 16383 0
  heads   16  0
  sectors/track 63  0
  --
  LBA    user addressable sectors:  268435455
  LBA48  user addressable sectors: 1000215216
  Logical  Sector size:                   512 bytes
  Physical Sector size:                   512 bytes
  Logical Sector-0 offset:                  0 bytes
  device size with M = 1024*1024:      488386 MBytes
  device size with M = 1000*1000:      512110 MBytes (512 GB)
  cache/buffer size  = unknown
  Form Factor: 2.5 inch
  Nominal Media Rotation Rate: Solid State Device
Capabilities:
  LBA, IORDY(can be disabled)
  Queue depth: 32
  Standby timer values: spec'd by Standard, no device specific minimum
  R/W multiple sector transfer: Max = 1 Current = 1
  Advanced power management level: 254
  DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
       Cycle time: min=120ns recommended=120ns
  PIO: pio0 pio1 pio2 pio3 pio4 
       Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
  Enabled Supported:
     *  SMART feature set
        Security Mode feature set
     *  Power Management feature set
     *  Write cache
     *  Look-ahead
     *  WRITE_BUFFER command
     *  READ_BUFFER command
     *  DOWNLOAD_MICROCODE
     *  Advanced Power Management feature set
        SET_MAX security extension
     *  48-bit Address feature set
     *  Mandatory FLUSH_CACHE
     *  FLUSH_CACHE_EXT
     *  SMART error logging
     *  SMART self-test
     *  General Purpose Logging feature set
     *  64-bit World wide name
     *  WRITE_UNCORRECTABLE_EXT command
     *  {READ,WRITE}_DMA_EXT_GPL commands
     *  Segmented DOWNLOAD_MICROCODE
        unknown 119[8]
     *  Gen1 signaling speed (1.5Gb/s)
     *  Gen2 signaling speed (3.0Gb/s)
     *  Gen3 signaling speed (6.0Gb/s)
     *  Native Command Queueing (NCQ)
     *  Phy event counters
     *  READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
     *  DMA Setup Auto-Activate optimization
        Device-initiated interface power management
     *  Software settings preservation
        Device Sleep (DEVSLP)
     *  reserved 69[4]
     *  DOWNLOAD MICROCODE DMA command
     *  WRITE BUFFER DMA command
     *  READ BUFFER DMA command
     *  Data Set Management TRIM supported (limit 8 blocks)
     *  Deterministic read ZEROs after TRIM
Security: 
  Master password revision code = 1
    supported
  not enabled
  not locked
    frozen
  not expired: security count
    supported: enhanced erase
  2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT. 
Logical Unit WWN Device Identifier: 5001b448b48ce759
  NAA   : 5
  IEEE OUI  : 001b44
  Unique ID : 8b48ce759
Device Sleep:
  DEVSLP Exit Timeout (DETO): 30 ms (drive)
  Minimum DEVSLP Assertion Time (MDAT): 30 ms (drive)
Checksum: correct

Die zweite auf dem PC installierte SSD ist derzeit unformatiert. Wäre es möglich, diese andere Festplatte so vorzubereiten, dass dieses Problem gelöst wird, während die darauf installierte Installation / Konfiguration des Benutzerraums dieser aktuellen Mint beibehalten wird? Es wird ein Albtraum sein, die gesamte Software, die auf dieser langsamen Festplatte eingerichtet wurde, neu installieren zu müssen.


Bearbeiten

Systemspezifikationen von inxi:

$ inxi -Fz
System:    Host: dapadev Kernel: 4.8.0-53-generic i686 (32 bit) Desktop: Cinnamon 3.4.3
           Distro: Linux Mint 18.2 Sonya
Machine:   System: LENOVO product: 30B7000YUS v: ThinkStation P710
           Mobo: LENOVO model: 1030 v: SBB0J05441 WIN 3305058809791 Bios: LENOVO v: S01KT40A date: 05/04/2017
CPU:       Octa core Intel Xeon E5-2620 v4 (-HT-MCP-) cache: 20480 KB 
           clock speeds: max: 3000 MHz 1: 2099 MHz 2: 2100 MHz 3: 2120 MHz 4: 2100 MHz 5: 2099 MHz 6: 2100 MHz
           7: 2299 MHz 8: 2100 MHz
Graphics:  Card: NVIDIA GK107GL [Quadro K420]
           Display Server: X.Org 1.18.4 drivers: nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: [email protected]
           GLX Renderer: Quadro K420/PCIe/SSE2 GLX Version: 4.5.0 NVIDIA 375.66
Audio:     Card-1 NVIDIA GK107 HDMI Audio Controller driver: snd_hda_intel Sound: ALSA v: k4.8.0-53-generic
           Card-2 Intel C610/X99 series HD Audio Controller driver: snd_hda_intel
Network:   Card-1: Intel Ethernet Connection (2) I218-LM driver: e1000e
           IF: eth0 state: up speed: 1000 Mbps duplex: full mac: <filter>
           Card-2: Intel I210 Gigabit Network Connection driver: igb
           IF: eth1 state: down mac: <filter>
           Card-3: Intel I210 Gigabit Network Connection driver: igb
           IF: eth2 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives:    HDD Total Size: 2024.4GB (2.1% used) ID-1: /dev/sda model: SanDisk_SD8TB8U5 size: 512.1GB
           ID-2: /dev/sdb model: SanDisk_SD8TB8U5 size: 512.1GB ID-3: /dev/sdc model: ST1000DM003 size: 1000.2GB
Partition: ID-1: / size: 438G used: 8.9G (3%) fs: ext4 dev: /dev/sda1
           ID-2: swap-1 size: 34.24GB used: 0.00GB (0%) fs: swap dev: /dev/sda5
RAID:      No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors:   System Temperatures: cpu: 43.0C mobo: N/A gpu: 53C
           Fan Speeds (in rpm): cpu: N/A
Info:      Processes: 275 Uptime: 3 days Memory: 1887.9/32323.8MB Client: Shell (bash) inxi: 2.2.35

Antriebsdetails von lsblk:

$ lsblk -Sfalt
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN   NAME FSTYPE LABEL UUID MOUNTPOINT NAME ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE  RA WSAME
sdb  3:0:0:0    disk ATA      SanDisk SD8TB8U5 3101 sata   sdb                               sdb          0    512      0     512     512    0 deadline     128 128    0B
sr0  6:0:0:0    rom  PLDS     DVD-RW DH16AFSH  DL3M sata   sr0                               sr0          0    512      0     512     512    1 deadline     128 128    0B
sdc  4:0:0:0    disk ATA      ST1000DM003-1SB1 CC62 sata   sdc                               sdc          0   4096      0    4096     512    1 deadline     128 128    0B
sda  2:0:0:0    disk ATA      SanDisk SD8TB8U5 3101 sata   sda                               sda          0    512      0     512     512    0 deadline     128 128    0B

Antriebsdetails von smartctl:

$ sudo smartctl -a /dev/sda
smartctl 6.5 2016-01-24 r4214 [i686-linux-4.8.0-53-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     SanDisk SD8TB8U512G1001
Serial Number:    165125801567
LU WWN Device Id: 5 001b44 8b48ce759
Firmware Version: X4133101
User Capacity:    512,110,190,592 bytes [512 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-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Oct 14 16:05:13 2017 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:      (  16) The self-test routine was aborted by
          the host.
Total time to complete Offline 
data collection:    (    0) seconds.
Offline data collection
capabilities:        (0x11) SMART execute Offline immediate.
          No Auto Offline data collection support.
          Suspend Offline collection upon new
          command.
          No Offline surface scan supported.
          Self-test supported.
          No Conveyance Self-test supported.
          No 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.

SMART Attributes Data Structure revision number: 4
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0032   100   100   ---    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   ---    Old_age   Always       -       519
 12 Power_Cycle_Count       0x0032   100   100   ---    Old_age   Always       -       309
170 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
171 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       0
174 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       48
178 Used_Rsvd_Blk_Cnt_Chip  0x0032   100   100   ---    Old_age   Always       -       0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033   100   100   010    Pre-fail  Always       -       100
184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
194 Temperature_Celsius     0x0022   068   033   ---    Old_age   Always       -       32 (Min/Max 23/33)
199 UDMA_CRC_Error_Count    0x0032   100   100   ---    Old_age   Always       -       0
233 Media_Wearout_Indicator 0x0033   100   100   001    Pre-fail  Always       -       16772743
234 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       90
241 Total_LBAs_Written      0x0030   253   253   ---    Old_age   Offline      -       101
242 Total_LBAs_Read         0x0030   253   253   ---    Old_age   Offline      -       13
249 Unknown_Attribute       0x0032   100   100   ---    Old_age   Always       -       40

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Aborted by host               00%       519         -

Selective Self-tests/Logging not supported
ardnew
quelle
Ich habe keine Ahnung, wie die Antwort lautet, aber ich habe diese Frage mit einer starken Frage bewertet! Interessiert sich Linux für AHCI wie Windows?
spikey_richie
@spikey_richie ja, die Festplatten verwenden die ahci-Treiber im Kernel 4.8.0-53-generic (Standard mit Mint 18.2)
ardnew
Das letzte Mal, als ich eine so langsame Festplatte hatte, hdparmzeigte sich, dass sie ohne DMA verwendet wurde, aber hier scheint dies nicht der Fall zu sein. Die 64.000-Dollar-Frage ist, ob dies ein Problem mit der Schreibrate (dh der Zeit, die ungefähr proportional zur geschriebenen Menge ist) oder mit dem ersten Zugriff (lange Zeit, selbst bei kleineren Dateien) ist. Und ja, auf meiner SSD melden Ihre Tests 400 + MB / s :)
Xenoid
2
@ejbytes SSDs werden nicht einmal geschrieben. Sie verwenden einen Flash-Speicher (normalerweise NAND-Gatter), der durch Anlegen einer höheren Spannung gelöscht werden kann. Aus der Sicht des Computers ist dies vollständig transparent und sie verhalten sich wie normale Festplatten. Durch das Löschen werden sie nur ein wenig zermürbt, aber ihre gesamte Lebenserwartung entspricht auch der von mechanischen Festplatten.
Jurez
2
@ejbytes Warum nicht einmal einen PC mit SSD ausprobieren? Sie werden keinen Krebs bekommen, wenn Sie versuchen, eine Datei zu löschen. Tatsächlich wird die Datei gelöscht.
Jurez

Antworten:

1

Für diejenigen, die sich fragen, ist dies ein Fehler im Linux-Kernel, der hier verfolgt wird: Mehr als 100-mal langsamere Festplattenschreibvorgänge auf 4.x + / i386 / 16 + RAM im Vergleich zu 3.x.

(und hier: 32-Bit-Kernel-Festplatte langsame Schreibgeschwindigkeit , und hier: Langsame Festplattenschreibvorgänge nach einiger Betriebszeit, nur auf 32-Bit / 16 + RAM / 4 + Kerneln )

Es wird auf 32-Bit-Kerneln mit mehr als 12 GB (8 GB?) RAM (aktiviert) ausgelöst. Dies wurde anscheinend in Kernel v4.2.0 eingeführt und ist noch nicht behoben (RedHat scheint einen mildernden Patch bereitgestellt zu haben, hat ihn aber nie vorgelagert).

Ein Benutzer hat eine GRUBProblemumgehung gefunden, indem er diese in den cmdline-Optionen festgelegt hat:

mem=12G

(oder ein niedrigerer Wert), aber wie Sie sich vorstellen können, wird die in dieser Sitzung verfügbare Speichermenge begrenzt.

Ich persönlich habe festgestellt, dass die Einstellung vm.highmem_is_dirtyable=1funktioniert (als ich noch den 32-Bit-Kernel verwendete, gibt es diese Option für 64-Bit-Kernel nicht), aber Andrew Morton sagte, dass dies zu anderen Problemen führen könnte. Sie können es testen, indem Sie Folgendes ausführen:

 sysctl -w vm.highmem_is_dirtyable=1

Hier ist eine schöne Beschreibung des Problems: Extreme E / A-Verlangsamung mit dem PAE-Kernel

Wahnsinniger
quelle
0

Mit einer SSD sollten Sie auf jeden Fall Geschwindigkeiten von mindestens 100 MiB / s sehen. Normalerweise mehr.

Für den zweiten Teil Ihrer Frage können Sie den genauen Inhalt Ihrer Installation auf eine neue Festplatte duplizieren.

Um Ihre langsame Festplatte zu diagnostizieren, können Sie zusätzlich zu den Vorschlägen anderer einige Dinge ausprobieren:

  • In dmesg finden Sie Nachrichten zu Zeitüberschreitungen in Bezug auf sda / sdb und ähnliches
  • Kabel wechseln
  • Probieren Sie die Festplatte in einem anderen Computer aus
  • Starten Sie eine andere Distribution (dh Live-USB) und überprüfen Sie die Festplattengeschwindigkeit mit einem anderen Kernel
  • Versuchen Sie es mit einer anderen SSD auf demselben Kabel, demselben Port und derselben Distribution
  • Führen Sie a aus, smartctl -aum festzustellen, ob etwas Verdächtiges gemeldet wird
  • Versuchen Sie es mit einem blkdiscardoder einem vollständigen Löschen (einige ältere SSDs mit geringer Qualität können aufgrund von Leistungseinbußen immer noch stark leiden).
  • Überprüfen Sie, ob Sie die SSD-Firmware aktualisieren können
  • Probieren Sie die Diagnosetools des Herstellers aus
Jurez
quelle
Ich habe keine Fehler dmesgbei der Mint-Installation gesehen, aber ich habe jetzt Manjaro Linux installiert, wo die Festplatten eine hervorragende Leistung erbringen. Leider hat 32-Bit-Manjaro kein PAE (oder unterstützt es nicht), und mit 32 GB RAM (und einer 32-Bit-Cross-Compiler-Toolchain-Anforderung) ist es eine Art Deal Breaker. Also habe ich den Manjaro-Kernel mit PAE neu kompiliert, habe volle 32 GB RAM zur Verfügung, aber jetzt ist die Verlangsamung der Festplatte wieder da. Könnte dies möglicherweise verwandt sein oder nur Zufall? Wir haben im Moment nicht wirklich die Möglichkeit, Hardwarekomponenten für eine weitere Diagnose aus diesem Blickwinkel
auszutauschen
Ich habe auch die Möglichkeit in Betracht gezogen, dass es ein Problem mit unserer Stromversorgung ist. Der PC ist an eine wahrscheinlich überlastete USV angeschlossen, daher werde ich eine zuverlässigere Stromquelle ausprobieren, um festzustellen, ob dies überhaupt hilft. Schließlich werde ich versuchen, ein 64-Bit-Betriebssystem zu installieren und eine 32-Bit-Bibliothek für die Cross-Compiler-Tools zu erstellen. Dies ist die zeitaufwändigste Lösung und kann nicht garantiert behoben werden. Wie auch immer - ich würde es hassen zu sehen, dass das Kopfgeld verschwendet wird, also gehört es dir. Ich behalte mir jedoch vor, es vorerst als Antwort zu markieren, um mehr Feedback zu erhalten. danke
ardnew
Einige weitere Dinge, die Sie ausprobieren sollten: Aktualisieren Sie das BIOS, überprüfen Sie die Festplatteneinstellungen und führen Sie einen gründlichen Speichertest durch. Sie sollten versuchen, so viele Datenpunkte wie möglich zu sammeln, indem Sie mit verschiedenen Kombinationen experimentieren. Nach dem, was Sie beschrieben haben, sieht es entweder nach einem Hardwareproblem oder nach einem Kernel-Fehler aus. Kabelprobleme sind häufig, werden aber oft übersehen. Sie können (und sollten) diese Frage auf der Kernel-Mailingliste stellen. Auf lange Sicht würde ich empfehlen, dass Sie sich auf das 64-Bit-Betriebssystem konzentrieren und bei Bedarf eine 32-Bit-VM verwenden.
Jurez
@ardnew Veröffentlichen Sie die detaillierten Spezifikationen Ihres Systems.
Jurez
bearbeitete Frage mit vollständigen Spezifikationen
ardnew
0

Mehr eine Problemumgehung als eine ordnungsgemäße Lösung des Problems - das Ersetzen von Linux Mint 18.2 32-Bit durch Linux Mint 18.2 64-Bit löste die wahnsinnig langsamen Schreibgeschwindigkeiten dauerhaft.


Interessiert an mehr Details? Ach, lieber Leser, bitte lesen Sie weiter!

Wir müssen eine bestimmte 32-Bit-Compiler-Toolchain verwenden. Daher ging ich davon aus, dass es am besten ist, ein 32-Bit-Betriebssystem zu installieren, und entschied mich für Linux Mint Cinnamon (Kernel 4.8), da es für einige unserer Entwickler, die nicht sehr vertraut sind, als Desktop-freundlichere Distribution erscheint Linux.

Unmittelbar nach dem Start werden blitzschnelle Schreibvorgänge> 200 MiB / s ausgeführt. Nach ungefähr einer Stunde wieder auf <5 MiB / Sek.

Das exakt gleiche Verhalten wurde beim Ausführen von Manjaro Linux 32-Bit (Kernel 4.9 LTS und auch 4.10) beobachtet.

Also habe ich versucht, Linux Mint 64-Bit zu installieren (wieder der gleiche 4.8-Kernel). Und jetzt beginnen die Festplattenschreibvorgänge schnell und bleiben schnell. Keine Festplattenprobleme. Dies erscheint mir sofort als Kernel-Fehler, einer der SSD-Treiber, speziell für 32-Bit-Umgebungen.

Glücklicherweise aptgibt es ein Metapaket, ia32-libsdas eine solide Sammlung von x86-Bibliotheken installiert, was sich als nahezu ausreichend herausstellte, um unsere 32-Bit-Compiler-Toolchain auszuführen - es musste lediglich eine zusätzliche Bibliothek manuell installiert werden.

ardnew
quelle