SSD Ubuntu - Tadinya cepat, sekarang sangat lambat

12

Inilah yang saya dapatkan sekarang, dengan SSD MX300 750GB Krusial (dengan firmware terbaru [belum ada pembaruan firmware]).

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

Lihat kecepatan baca disk buffered !!!! SOOOO SLOWWW !!!! Ketika saya pertama kali mengatur laptop saya, saya melihat lebih dari 400MB / detik, yang baik-baik saja dengan saya mengingat ini adalah laptop yang lebih tua, dan semuanya terenkripsi dengan baik.

Ini milik saya /etc/fstab. Saya telah mengaktifkan trim, menjalankan trim secara manual, mengaktifkan / menonaktifkan fitur, reboot, semuanya. Saya tidak bisa mendapatkan kecepatan cepat untuk kembali:

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

Jadi sudah jelas, ini adalah opsi yang saya gunakan. Saya sudah mencoba berbagai kombinasi dari mereka tetapi tidak berhasil:

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

Ada tips? Ini membuatku gila.

Oh, juga, saya menjalankan Ubuntu 16.04 (x64) pada Lenovo T420 dengan ram 16GB dan prosesor i7:

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

Output Smartctl:

 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.

Apa yang membunuh saya adalah ITU BEKERJA UNTUK SAAT . Itu bekerja pada suatu hari, dan kemudian berhenti di hari berikutnya, dan saya bahkan tidak melakukan apa pun (yang dapat saya pikirkan) yang seharusnya mengubahnya.

MEMPERBARUI

Diuji perangkat tertentu ( /dev/sda1), tetapi hasil lambat yang sama:

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

MEMPERBARUI

Diuji pada partisi logis juga:

 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

ddTes PEMBARUAN

Tes ini menunjukkan bahwa ini bahkan lebih lambat daripada pertunjukan hdparm ...

 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

PEMBARUAN: Penyelarasan Partisi

Inilah penyelarasan partisi pada laptop saya:

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)

Saya tidak yakin apa yang harus dipikirkan tentang partisi 2 yang tidak disejajarkan: ^ / tetapi partisi 1 dan 5 adalah demikian.

Juga, inilah partisi yang terlihat 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: TETAP? Saya mengubah scheduler menjadi scheduler noop (bukan tenggat waktu). Itu tampaknya telah berhasil (lakukan ini dengan mengubah /etc/default/grubuntuk memiliki garis:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

Dan kemudian memperbarui grub dengan sudo update-grub2dan me-reboot.

Saya akan menunggu beberapa hari untuk melihat apakah itu berfungsi setelah beberapa reboot / penggunaan sebelum saya membuat jawaban dan menerimanya.

Kecepatan saat ini sekarang setelah mengubah penjadwal:

 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

Opsi di fstab adalah:

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

masukkan deskripsi gambar di sini

PEMBARUAN "FIX"

Setelah menggunakannya sebentar dan me-reboot beberapa kali, KEMBALI KE KECEPATAN PERLAHAN :( :( :( :( :( :(

PEMBARUAN - MUNGKIN "MEMPERBAIKI"

Saya memiliki pemikiran bahwa mungkin laptop saya melakukan beberapa optimasi hemat baterai ketika boot dan menjalankan baterai. Setelah satu tes sederhana boot dengan pengisi daya terpasang, itu kembali ke kecepatan sangat cepat. Saya cukup yakin inilah masalahnya - sepanjang waktu diuji dengan kecepatan cepat, pengisi daya telah dicolokkan. Saya akan menjalankan beberapa tes lagi untuk memverifikasi, tetapi saya cukup yakin inilah yang menyebabkan perlambatan.

d0c_s4vage
sumber
Apa yang terjadi jika Anda menguji kecepatan untuk partisi tertentu misalnya, /dev/sda1bukan /dev/sda?
thomasrutter
pertanyaan yang bagus - Saya akan mencobanya dan memperbarui pertanyaan saya
d0c_s4vage
Juga pada partisi logis misalnya/dev/mapper/ubuntu--gnome--vg-root
thomasrutter
diuji /dev/sda1, akan menguji partisi logis juga
d0c_s4vage
k, menguji keduanya, tidak berhasil: 6 /
d0c_s4vage

Jawaban:

19

Jawaban cepat:

sudo hdparm -B254 /dev/sda

Jawaban panjangnya:

Tampaknya Linux atau laptop secara umum (diverifikasi pada Lenovo dan Dells) default ke level APM 80 jam (128) saat boot dengan baterai dan FEh (254) saat boot dengan daya AC.

Untuk sebagian besar SSD, Anda tidak akan melihat banyak perbedaan. SSD Lite-on tampaknya tidak mendukung manajemen daya sama sekali dan selalu berjalan dengan kecepatan maksimal. SSD Intel tampaknya berjalan pada kecepatan penuh sekitar 75% pada level APM 128, dan kecepatan 100% pada level APM 254/255. Namun SSD penting tampaknya berjalan pada kecepatan penuh sekitar 6% pada level APM 128 (dibooting dengan baterai) bila dibandingkan dengan level APM 254 (dibooting dengan daya AC).

Berita buruknya adalah tidak ada bug dan kesalahan di sini. Spesifikasi ATA cukup samar bahwa SSD Krusial berjalan sangat lambat dalam mode APM 128 diizinkan dan sesuai dengan spesifikasi. Demikian pula laptop yang default ke APM level 80h (128) sangat masuk akal. Spesifikasi hanya mengatakan:

Tabel 106 - Level APM
COUNT bidang Level
00h Dilindungi
01h Konsumsi daya minimum dengan mode Siaga
02h..7Fh Level manajemen daya menengah dengan mode Siaga
80h Konsumsi daya minimum tanpa mode Siaga
81j..FDh Level manajemen daya menengah tanpa mode Siaga
FEh Kinerja maksimum
FFh Pendiam

(Dari spesifikasi ATA )

Inilah pengalaman saya dengan SSD MX300 Krusial yang dibooting dengan daya baterai:

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
Daniel van Vugt
sumber
Sama: (permintaan maaf karena tidak memformat, indentasi sepertinya tidak berfungsi dalam komentar) $ sudo hdparm -t / dev / sdb2 / dev / sdb2: Timing buffered disk berbunyi: 76 MB dalam 3,01 detik = 25,23 MB / detik $ sudo hdparm -t / dev / sda3 $ sudo hdparm -B / dev / sdb / dev / sdb: APM_level = 128 $ sudo hdparm -B254 / dev / sdb / dev / sdb: mengatur tingkat Manajemen Daya Canggih ke 0xfe (254) APM_level = 254 $ sudo hdparm -t / dev / sdb2 / dev / sdb2: Waktu buffered disk berbunyi: 1448 MB dalam 3,00 detik = 482,28 MB / detik
KevinButler
Wow. Cuma wow. Jawaban ini sangat membantu. Satu hal lagi: jika Anda menggunakan GNOME, utilitas Disk mereka sebenarnya memungkinkan untuk mengatur level APM pada GUI-nya.
Venemo
Saya tidak berpikir itu jawaban yang lengkap karena saya mendapatkan masalah yang sama pada Samsung SSD 840 EVO 120GB ( APM_level = not supported) pada PC desktop (yaitu tidak pernah menggunakan baterai). Pasti ada alasan yang lebih populer untuk memperlambat membaca.
cprn
Analisis yang sangat bagus, meskipun tidak ada banyak perbedaan dengan WD SSD, tetapi sangat membantu untuk memahami masalah ini. terima kasih
ajcg
6

Anda mungkin ingin memeriksa /etc/hdparm.conf di mana Anda dapat mengkonfigurasi level apm untuk mode daya dan baterai.

Menambahkan

apm = 254
apm_battery = 254

ke /etc/hdparm.conf

christianonline
sumber
3

Saya secara konsisten menemukan bahwa saya dapat mencapai kecepatan cepat ketika saya mem-boot laptop sambil dicolokkan. Jika saya mem-boot laptop saat sedang kehabisan baterai, dan kemudian terhubung, saya masih terjebak pada kecepatan lambat.

Ini mungkin sesuatu yang spesifik untuk laptop saya (Lenovo T420). Saya mengubah semua pengaturan BIOS untuk tidak menghemat daya, untuk mencapai kinerja maksimum; Namun, ini tidak membiarkannya memiliki kecepatan cepat ketika hanya menggunakan baterai. Saya masih harus terhubung ketika saya boot untuk memiliki kecepatan cepat.

Catatan lain: Saya bisa terhubung ketika saya boot, dan setelah boot, cabut laptop. Laptop akan menjaga kecepatan cepat sampai boot di waktu berikutnya.

JAWABAN : Dicolokkan saat Anda boot.

d0c_s4vage
sumber
0

Silakan gunakan kernel yang cukup baru (v4.15 +), coba gunakan med_power_with_dipm untuk Crucial MX300 Anda.

LPM min_power tidak berfungsi dengan baik untuk semua driver, jika med_power_with_dipm bekerja untuk Anda, kami harus menggunakan quirk baru untuk membiarkannya mundur ke med_power_with_dipm ketika min_power dipilih.

Selain itu, harap ajukan bug di Launchpad, agar insinyur kernel Ubuntu dapat mengatasi bug tersebut, atau angkat masalah ke hulu.

khfeng
sumber