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 , dd
um 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-ro
in 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
quelle
hdparm
zeigte 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 :)Antworten:
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
GRUB
Problemumgehung gefunden, indem er diese in den cmdline-Optionen festgelegt hat:(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=1
funktioniert (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:Hier ist eine schöne Beschreibung des Problems: Extreme E / A-Verlangsamung mit dem PAE-Kernel
quelle
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:
smartctl -a
um festzustellen, ob etwas Verdächtiges gemeldet wirdblkdiscard
oder einem vollständigen Löschen (einige ältere SSDs mit geringer Qualität können aufgrund von Leistungseinbußen immer noch stark leiden).quelle
dmesg
bei 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 BlickwinkelMehr 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
apt
gibt es ein Metapaket,ia32-libs
das 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.quelle