Właśnie to otrzymuję dzięki dyskowi SSD Crucial MX300 750GB (z najnowszym oprogramowaniem [jeszcze nie ma aktualizacji oprogramowania]).
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
Zobacz prędkość odczytu buforowanego dysku !!!! SOOOO SLOWWW !!!! Kiedy po raz pierwszy konfigurowałem laptopa, widziałem ponad 400 MB / s, co było w porządku, biorąc pod uwagę, że jest to starszy laptop, a wszystko jest zaszyfrowane przez Luks.
To jest mój /etc/fstab
. Mam włączone przycinanie, ręcznie uruchamiane przycinanie, włączone / wyłączone funkcje, ponownie uruchomiłem wszystko. Nie mogę odzyskać tak dużych prędkości:
/dev/mapper/ubuntu--gnome--vg-root / ext4 noatime,nodiratime,errors=remount-ro,barrier=0,discard 0 1
Dla jasności, z tych opcji korzystam. Próbowałem różnych kombinacji, ale bezskutecznie:
noatime,nodiratime,errors=remount-ro,barrier=0,discard
Jakieś wskazówki? Doprowadza mnie to do szału.
Och, także używam Ubuntu 16.04 (x64) na Lenovo T420 z 16 GB RAM i procesorem 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
Wyjście 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.
To, co mnie zabija, to fakt, że TO DZIAŁAŁO PRZEZ . To zadziałało jednego dnia, a potem przestało następnego, a ja nawet nie zrobiłem nic (o czym myślę), co powinno to zmienić.
AKTUALIZACJA
Testowano określone urządzenie ( /dev/sda1
), ale takie same powolne wyniki:
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
AKTUALIZACJA
Testowany również na partycji logicznej:
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
Test AKTUALIZACJI
Ten test pokazuje, że jest nawet wolniejszy niż pokazuje 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
AKTUALIZACJA: Wyrównanie partycji
Oto wyrównanie partycji na moim laptopie:
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)
Nie jestem pewien, co sądzić o nieprzystosowaniu partycji 2: ^ / ale partycje 1 i 5 są jednak.
Również tutaj są te partycje, jak widać z 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
AKTUALIZACJA: NAPRAWIONO?
Zmieniłem harmonogram na harmonogram noop (zamiast terminu). Wygląda na to, że zadziałało (zrobił to zmieniając /etc/default/grub
linię:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
A następnie aktualizowanie GRUB-a sudo update-grub2
i restartowanie.
Poczekam kilka dni, aby zobaczyć, czy to działa po kilku kolejnych uruchomieniach / użyciu, zanim odpowiem i zaakceptuję.
Bieżące prędkości teraz po zmianie harmonogramu:
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
Opcje w fstab to:
noatime,nodiratime,errors=remount-ro,barrier=0
AKTUALIZACJA „FIX”
Po kilkukrotnym użyciu go i ponownym uruchomieniu, powraca do POWOLNEJ PRĘDKOŚCI :( :( :( :( :( :(
AKTUALIZACJA - MOŻLIWA „FIX”
Pomyślałem, że być może mój laptop optymalizuje oszczędzanie baterii, gdy jest uruchamiany i rozładowuje się z baterii. Po jednym prostym teście rozruchu z podłączoną ładowarką, powraca on do naprawdę dużych prędkości. Jestem całkiem pewien, że tak jest - przez cały czas testowania przy dużych prędkościach miałem podłączoną ładowarkę. Przeprowadzę jeszcze kilka testów w celu weryfikacji, ale jestem pewien, że to właśnie spowodowało spowolnienie.
/dev/sda1
Zamiast/dev/sda
?/dev/mapper/ubuntu--gnome--vg-root
/dev/sda1
, przetestuję też partycję logicznąOdpowiedzi:
Szybka odpowiedź:
Długa odpowiedź:
Wygląda na to, że Linux lub ogólnie laptopy (sprawdzone zarówno w Lenovo, jak i Dellach) domyślnie mają poziom APM 80h (128) po uruchomieniu z baterii i FEh (254) po uruchomieniu z zasilania sieciowego.
W przypadku większości dysków SSD nie zauważysz dużej różnicy. Dyski SSD Lite-on wydają się wcale nie obsługiwać zarządzania energią i zawsze działają z maksymalną prędkością. Wydaje się, że dyski SSD firmy Intel pracują z pełną prędkością około 75% na poziomie APM 128 i 100% na poziomie APM 254/255. Wydaje się jednak, że kluczowe dyski SSD pracują z pełną prędkością około 6% na poziomie APM 128 (uruchamiany na baterii) w porównaniu do poziomu APM 254 (uruchamiany na zasilaniu prądem przemiennym).
Zła wiadomość jest taka, że nie ma tutaj błędu i nie ma winy. Specyfikacja ATA jest na tyle niejasna, że dozwolone są dyski SSD Crucial działające bardzo wolno w trybie APM 128 i są zgodne ze specyfikacją. Podobnie laptop domyślnie ustawiony na poziom APM 80h (128) jest całkowicie rozsądny. Specyfikacja mówi tylko:
Tabela 106 - Poziomy APM
Pole COUNT Poziom
00h Zarezerwowany
01h Minimalny pobór mocy w trybie gotowości
02h..7Fh Pośrednie poziomy zarządzania energią w trybie gotowości
80h Minimalne zużycie energii bez trybu gotowości
81h..FDh Pośrednie poziomy zarządzania energią bez trybu gotowości
FEh Maksymalna wydajność
FFh Zarezerwowany
(Ze specyfikacji ATA )
Oto moje doświadczenie z dyskiem Crucial MX300 SSD zasilanym z baterii:
źródło
APM_level = not supported
) na komputerze stacjonarnym (tj. Nigdy na baterii). Powody spowolnienia odczytu muszą być bardziej popularne.Możesz sprawdzić /etc/hdparm.conf, gdzie możesz skonfigurować poziom apm dla trybu zasilania i baterii.
Dodaj
do /etc/hdparm.conf
źródło
Konsekwentnie stwierdziłem, że byłem w stanie osiągnąć duże prędkości, gdy uruchamiałem laptopa, gdy byłem podłączony. Gdybym uruchomił laptopa, gdy był rozładowany, a następnie podłączony, nadal utknąłem na wolnych prędkościach.
To mogło być coś specyficznego dla mojego laptopa (Lenovo T420). Zmieniłem wszystkie ustawienia BIOS-u, aby nie oszczędzać energii, aby uzyskać maksymalną wydajność; nie pozwoliło to jednak na uzyskanie dużych prędkości przy korzystaniu wyłącznie z baterii. Wciąż musiałem być podłączony do sieci, kiedy startowałem, aby mieć duże prędkości.
Kolejna uwaga: mogę się podłączyć podczas uruchamiania, a następnie po uruchomieniu odłącz laptop. Laptop zachowa duże prędkości, dopóki nie uruchomi się następnym razem.
ODPOWIEDŹ : Podłącz się podczas uruchamiania.
źródło
Użyj wystarczająco nowego jądra (v4.15 +), spróbuj użyć med_power_with_dipm dla twojego Crucial MX300.
LPM min_power nie działa dobrze dla wszystkich sterowników, jeśli med_power_with_dipm działa dla Ciebie, powinniśmy użyć nowego dziwactwa, aby pozwolić mu wrócić do med_power_with_dipm, gdy zostanie wybrana min_power.
Prosimy również o zgłoszenie błędu w Launchpad, aby inżynierowie jądra Ubuntu mogli go rozwiązać lub podnieść go na wyższy poziom.
źródło