Ubuntu SSD - เร็วเร็วมากแล้วตอนนี้


12

นี่คือสิ่งที่ฉันกำลังได้รับพร้อม Crucial MX300 750GB SSD (พร้อมเฟิร์มแวร์ล่าสุด [ยังไม่มีการอัปเดตเฟิร์มแวร์])

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

ดูความเร็วในการอ่านดิสก์บัฟเฟอร์ที่ !!!! SOOOO SLOWWW !!!! เมื่อฉันติดตั้งแล็ปท็อปครั้งแรกฉันเห็นมากกว่า 400MB / วินาทีซึ่งทำได้ดีมากกับฉันเนื่องจากนี่เป็นแล็ปท็อปรุ่นเก่าและทุกอย่างที่ luks เข้ารหัสนั้นดี

/etc/fstabนี้เป็นของฉัน ฉันได้เปิดใช้งานการตัดแต่งการเรียกใช้การตัดแต่งด้วยตนเองเปิดใช้งาน / ปิดใช้งานคุณลักษณะการรีบูตทุกสิ่ง ฉันไม่สามารถรับความเร็วที่รวดเร็วเหล่านั้นเพื่อกลับมา:

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

ชัดเจนดังนั้นนี่คือตัวเลือกที่ฉันใช้ ฉันได้ลองใช้หลาย ๆ อย่างผสมกันเพื่อไม่เกิดประโยชน์:

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

เคล็ดลับใด ๆ นี่ทำให้ฉันบ้า

โอ้ฉันยังใช้ Ubuntu 16.04 (x64) บน Lenovo T420 ที่มี RAM 16GB และโปรเซสเซอร์ 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

เอาต์พุต 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.

สิ่งที่ฆ่าฉันคือมันทำงานได้ตลอดเวลา มันใช้งานได้วันหนึ่งแล้วก็หยุดต่อไปและฉันก็ไม่ได้ทำอะไรเลย (ที่ฉันนึกได้) ที่ควรเปลี่ยนมัน

UPDATE

ทดสอบอุปกรณ์เฉพาะ ( /dev/sda1) แต่ผลลัพธ์ช้าเหมือนกัน:

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

UPDATE

ทดสอบบนโลจิคัลพาร์ติชันด้วย:

 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

อัปเดตddการทดสอบ

การทดสอบนี้แสดงว่าช้ากว่า 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

ปรับปรุง: การจัดตำแหน่งพาร์ทิชัน

นี่คือการจัดแนวพาร์ติชันบนแล็ปท็อปของฉัน:

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)

ฉันไม่แน่ใจว่าจะคิดอย่างไรกับพาร์ติชัน 2 ที่ไม่ถูกจัดตำแหน่ง: ^ / แต่พาร์ติชัน 1 และ 5 นั้นอยู่ในสถานะเดียวกัน

นอกจากนี้ยังเป็นพาร์ติชันที่เห็นได้จาก 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

อัปเดต: คงที่หรือไม่ ฉันเปลี่ยนตัวกำหนดตารางเวลาเป็นตัวจัดกำหนดการแบบ noop (แทนกำหนดเวลา) ดูเหมือนว่าจะทำงานได้ (ทำได้โดยเปลี่ยน/etc/default/grubเป็นสาย:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

จากนั้นอัพเดตด้วงด้วยsudo update-grub2และรีบูตเครื่อง

ฉันจะรอสองสามวันเพื่อดูว่ามันใช้งานได้หลังจากรีบูต / การใช้งานอีกสองสามครั้งก่อนที่ฉันจะตอบและยอมรับมัน

ความเร็วปัจจุบันในขณะนี้หลังจากเปลี่ยนกำหนดการ:

 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

ตัวเลือกใน fstab คือ:

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

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดต "FIX"

หลังจากใช้ไปสักพักแล้วรีบูตสองสามครั้งมันจะกลับสู่ความเร็วช้า :( :( :( :( :( :( :( :( :(

อัปเดต - เป็นไปได้ "แก้ไข"

ฉันคิดว่าแล็ปท็อปของฉันกำลังทำการปรับปรุงแบตเตอรี่ให้เหมาะสมเมื่อบูตและใช้งานแบตเตอรี่ หลังจากการทดสอบการบู๊ตด้วยการเสียบที่ชาร์จหนึ่งครั้งก็กลับมาเป็นความเร็วที่รวดเร็ว ฉันค่อนข้างแน่ใจว่าเป็นกรณีนี้ - ทุกครั้งที่ทดสอบด้วยความเร็วสูงฉันเสียบที่ชาร์จฉันจะรันการทดสอบเพิ่มเติมอีกสองสามครั้งเพื่อตรวจสอบ แต่ฉันค่อนข้างแน่ใจว่านี่คือสิ่งที่ทำให้เกิดการชะลอตัว


จะเกิดอะไรขึ้นถ้าคุณทดสอบความเร็วสำหรับเช่นพาร์ทิชันโดยเฉพาะอย่างยิ่ง/dev/sda1แทน/dev/sda?
thomasrutter

คำถามที่ดี - ฉันจะลองและอัปเดตคำถามของฉัน
d0c_s4vage

นอกจากนี้ในโลจิคัลพาร์ติชันเช่น/dev/mapper/ubuntu--gnome--vg-root
thomasrutter

ทดสอบ/dev/sda1แล้วจะทดสอบโลจิคัลพาร์ติชันด้วย
d0c_s4vage

k, ทดสอบทั้งสองอย่าง, ไม่มีโชค: 6 /
d0c_s4vage

คำตอบ:


19

คำตอบอย่างรวดเร็ว:

sudo hdparm -B254 /dev/sda

คำตอบที่ยาว:

ปรากฏว่า Linux หรือแล็ปท็อปโดยทั่วไป (ตรวจสอบทั้ง Lenovo และ Dell) เป็นค่าเริ่มต้นเป็น APM ระดับ 80h (128) เมื่อบู๊ตด้วยแบตเตอรี่และ FEh (254) เมื่อบู๊ตด้วยไฟ AC

สำหรับ SSD ส่วนใหญ่คุณจะไม่สังเกตเห็นความแตกต่างมากนัก ดูเหมือนว่า Lite-on SSD จะไม่รองรับการจัดการพลังงานเลยและจะทำงานด้วยความเร็วสูงสุดเสมอ Intel SSD ดูเหมือนว่าจะทำงานที่ความเร็วเต็มที่ประมาณ 75% ที่ APM ระดับ 128 และความเร็ว 100% ที่ APM ระดับ 254/255 Crucial SSDs ดูเหมือนจะทำงานที่ความเร็วประมาณ 6% ที่ APM ระดับ 128 (บูตด้วยแบตเตอรี่) เมื่อเปรียบเทียบกับ APM ระดับ 254 (บูตด้วยไฟ AC)

ข่าวร้ายคือไม่มีข้อผิดพลาดและไม่มีความผิดที่นี่ ข้อมูลจำเพาะของ ATA นั้นคลุมเครือเพียงพอที่ Crucial SSDs ที่ทำงานช้ามากในโหมด APM 128 ได้รับอนุญาตและสอดคล้องกับข้อมูลจำเพาะ ในทำนองเดียวกันแล็ปท็อปที่ตั้งค่าเริ่มต้นเป็น APM ระดับ 80h (128) นั้นเหมาะสมอย่างยิ่ง ข้อมูลจำเพาะเพิ่งพูดว่า:

ตารางที่ 106 - ระดับ APM
ฟิลด์ COUNT ระดับ
00h สงวนไว้
01h การใช้พลังงานขั้นต่ำด้วยโหมดสแตนด์บาย
02h..7Fh ระดับการจัดการพลังงานระดับกลางพร้อมโหมดสแตนด์บาย
80h การใช้พลังงานขั้นต่ำโดยไม่มีโหมดสแตนด์บาย
81h..FDh ระดับการจัดการพลังงานระดับกลางโดยไม่มีโหมดสแตนด์บาย
FEh ประสิทธิภาพสูงสุด
FFh ที่สงวนไว้

(จากสเป็ค ATA )

นี่คือประสบการณ์ของฉันกับ Crucial MX300 SSD ที่ใช้พลังงานจากแบตเตอรี่:

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

เหมือนกัน: (ขออภัยสำหรับการขาดการจัดรูปแบบเยื้องดูเหมือนจะไม่ทำงานในความคิดเห็น) $ sudo hdparm -t / dev / sdb2 / dev / sdb2: ดิสก์บัฟเฟอร์เวลาอ่าน: 76 MB ใน 3.01 วินาที = 25.23 MB / วินาที $ sudo hdparm -t / dev / sda3 $ sudo hdparm -B / dev / sdb / dev / sdb: APM_level = 128 $ sudo hdparm -B254 / dev / sdb / dev / sdb: การตั้งค่าระดับการจัดการพลังงานขั้นสูงเป็น 0xfe (254) APM_level = 254 $ sudo hdparm -t / dev / sdb2 / dev / sdb2: การกำหนดเวลาดิสก์บัฟเฟอร์อ่าน: 1448 MB ใน 3.00 วินาที = 482.28 MB / วินาที
KevinButler

ว้าว. แค่ว้าว คำตอบนี้มีประโยชน์อย่างมาก อีกอย่างหนึ่ง: ถ้าคุณใช้ GNOME ยูทิลิตีดิสก์จะอนุญาตให้ตั้งระดับ APM บน GUI ได้
Venemo

ฉันไม่คิดว่ามันเป็นคำตอบที่สมบูรณ์เพราะฉันได้รับปัญหาเดียวกันกับ Samsung SSD 840 EVO 120GB ( APM_level = not supported) บนเดสก์ท็อปพีซี (เช่นไม่เคยใช้แบตเตอรี่) จะต้องมีเหตุผลที่นิยมมากขึ้นสำหรับการอ่านช้าลง
cprn

การวิเคราะห์ที่ดีมากแม้ว่า WD ssd จะมีความแตกต่างไม่มาก แต่ก็เป็นความช่วยเหลือที่ดีในการทำความเข้าใจปัญหานี้ ขอบคุณ
ajcg

6

คุณอาจต้องการตรวจสอบ /etc/hdparm.conf ซึ่งคุณสามารถกำหนดค่าระดับ apm สำหรับโหมดพลังงานและแบตเตอรี่

เพิ่ม

apm = 254
apm_battery = 254

ถึง /etc/hdparm.conf


3

ฉันพบว่าฉันสามารถกดความเร็วที่รวดเร็วเมื่อฉันบูตแล็ปท็อปขณะเสียบปลั๊กหากฉันบูตแล็ปท็อปในขณะที่แบตเตอรี่ใกล้หมดแล้วเสียบปลั๊กฉันยังคงติดอยู่ที่ความเร็วช้า

นี่อาจเป็นสิ่งที่เฉพาะกับแล็ปท็อปของฉัน (Lenovo T420) ฉันเปลี่ยนการตั้งค่า BIOS ทั้งหมดเพื่อไม่ประหยัดพลังงานใด ๆ เพื่อให้ได้ประสิทธิภาพสูงสุด อย่างไรก็ตามสิ่งนี้ไม่ได้ทำให้มันมีความเร็วที่รวดเร็วเมื่อใช้แบตเตอรี่เท่านั้น ฉันยังคงต้องเสียบปลั๊กเมื่อบูตด้วยความเร็วที่รวดเร็ว

หมายเหตุอีกประการหนึ่ง: ฉันสามารถเสียบได้เมื่อฉันบูตจากนั้นเมื่อบูตแล้วให้ถอดปลั๊กแล็ปท็อป แล็ปท็อปจะรักษาความเร็วที่รวดเร็วจนกว่าจะบูตในครั้งต่อไป

คำตอบ : เสียบเข้าเมื่อคุณบูต


0

โปรดใช้เคอร์เนลใหม่ที่เพียงพอ (v4.15 +) ลองใช้ med_power_with_dipm สำหรับ Crucial MX300 ของคุณ

LPM min_power ทำงานได้ไม่ดีสำหรับไดรเวอร์ทั้งหมดถ้า med_power_with_dipm ทำงานให้คุณเราควรใช้การเล่นโวหารใหม่เพื่อให้มันกลับไปที่ med_power_with_dipm เมื่อเลือก min_power

นอกจากนี้โปรดยื่นข้อบกพร่องที่ Launchpad ดังนั้นวิศวกรเคอร์เนลของ Ubuntu สามารถแก้ไขข้อผิดพลาดหรือยกระดับปัญหาขึ้นเป็นอัปสตรีม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.