우분투 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

버퍼링 된 디스크 읽기 속도를 참조하십시오 !!!! 너무 천천히 !!!! 랩톱을 처음 설치할 때 400MB / 초 이상이 보였습니다. 이것은 오래된 랩톱 이고 모든 것이 잘 암호화되어 있다는 점을 고려하면 완벽하게 좋습니다.

이것은 나의 것 /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

팁이 있습니까? 이것은 나를 미치게합니다.

또한 16GB 램과 i7 프로세서가 장착 된 Lenovo T420에서 Ubuntu 16.04 (x64)를 실행하고 있습니다.

 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.

나를 죽이는 것은 IT가 일하는 동안 일 했다는 것입니다 . 언젠가는 일을하고 나서 다음 날을 멈 췄고, 그것을 바꿔야 할 일 (내가 생각할 수있는)조차하지 않았다.

최신 정보

특정 기기 ( /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

최신 정보

논리 파티션에서도 테스트되었습니다.

 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가 정렬되지 않았다고 생각할 지 모르겠다.

또한 여기에 표시된 파티션이 있습니다. 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"

그런 다음 grub을 업데이트 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)로, AC 전원으로 부팅 할 때 FEh (254)로 기본 설정되어 있습니다.

대부분의 SSD의 경우 큰 차이가 없습니다. 라이트 온 SSD는 전원 관리를 전혀 지원하지 않는 것으로 보이며 항상 최대 속도로 실행됩니다. 인텔 SSD는 APM 레벨 128에서 최대 75 %, APM 레벨 254/255에서 100 % 속도로 실행되는 것으로 보입니다. 그러나 중요한 SSD는 APM 레벨 254 (AC 전원으로 부팅)와 비교할 때 APM 레벨 128 (배터리로 부팅)에서 최대 6 %의 최고 속도로 실행되는 것으로 보입니다.

나쁜 소식은 여기에 버그가없고 결함이 없다는 것입니다. ATA 사양은 APM 모드 128에서 매우 느리게 실행되는 Crucial SSD가 허용되고 사양을 준수 할 정도로 충분히 모호합니다. 마찬가지로 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 : 타이밍 버퍼링 디스크 읽기 : 3.01 초에 76MB = 25.23MB / sec $ sudo hdparm -t / dev / sda3 $ sudo hdparm -B / dev / sdb / dev / sdb : APM_level = 128 $ sudo hdparm -B254 / dev / sdb / dev / sdb : Advanced Power Management 레벨을 0xfe (254)로 설정 APM_level = 254 $ sudo를 hdparm을 -t는 / dev / sdb2로는 / dev / sdb2로 : 타이밍 버퍼 디스크를 읽 1천4백48메가바이트을 3.00 초 = 482.28 MB / 초
KevinButler

와. 와우 이 답변은 대단히 도움이됩니다. 한 가지 더 : 그놈을 사용하는 경우 디스크 유틸리티는 실제로 GUI에서 APM 레벨을 설정할 수 있습니다.
Venemo

APM_level = not supported데스크탑 PC의 삼성 SSD 840 EVO 120GB ( ) 와 동일한 문제가 발생하기 때문에 완전한 대답이라고 생각하지 않습니다 (예 : 절대 배터리가 없음). 읽기 속도가 느려지는 더 일반적인 이유가 있어야합니다.
cprn

WD ssd와 큰 차이는 없지만이 문제를 이해하는 데 큰 도움이됩니다. 감사합니다
ajcg

6

전원 및 배터리 모드에 대한 apm 레벨을 구성 할 수있는 /etc/hdparm.conf를 확인할 수 있습니다.

더하다

apm = 254
apm_battery = 254

/etc/hdparm.conf로


3

나는 일관되게 내가 연결하면서 노트북을 부팅 할 때 나는 빠른 속도를 칠 수 있었던 것을 발견했다. 나는 그것이 배터리 오프 실행하는 동안 노트북을 부팅 한 경우 다음 에 연결, 난 여전히 느린 속도에 붙어 있었다.

이것은 내 랩탑 (Lenovo T420)에 특정한 것일 수 있습니다. 모든 BIOS 설정을 변경하여 전원을 절약하지 않고 성능을 극대화했습니다. 그러나 이것은 배터리 만 사용할 때 빠른 속도를 얻지 못했습니다. 부팅 할 때 여전히 빠른 속도로 연결해야했습니다.

또 다른 참고 사항 : 부팅 할 때 연결 한 다음 부팅 한 후에 랩탑을 분리 할 수 ​​있습니다. 랩탑은 다음에 부팅 될 때까지 빠른 속도를 유지합니다.

답변 : 부팅 할 때 연결하십시오.


0

충분히 새로운 커널 (v4.15 +)을 사용하고 Crucial MX300에 med_power_with_dipm을 사용하십시오.

LPM min_power가 모든 드라이버에서 제대로 작동하지는 않습니다. med_power_with_dipm이 효과가있는 경우 min_power를 선택할 때 새 쿼크를 사용하여 med_power_with_dipm으로 대체해야합니다.

또한 런치 패드에 버그를 제출하여 우분투 커널 엔지니어가 버그를 해결하거나 문제를 업스트림으로 제기 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.