Hoạt động trên đĩa đóng băng Debian


12

Tôi vừa cài đặt thử nghiệm Debian trên máy tính để bàn mới của mình và tôi không hài lòng lắm về hiệu năng - khi tôi thực hiện thao tác sử dụng nhiều đĩa, ví dụ: nâng cấp các gói trong hệ thống, mọi thứ dường như đóng băng, ví dụ: thay đổi tab trong Iceweasel mất 3 giây. Tôi chạy Debian trên chiếc Thinkpad X60 3 tuổi siêu di động của mình và tôi không gặp phải những vấn đề này. (mọi thông số duy nhất của máy tính xách tay đều tệ hơn nhiều so với máy tính để bàn).

Tôi đang sử dụng kernel và script mặc định.

tôi chạy

hdparm -t /dev/sda1

Và tôi đã nhận được khoảng 96GB / s, dự kiến. Những gì khác tôi có thể cố gắng để làm cho nó hoạt động tốt hơn?

CHỈNH SỬA :

grzes:/home/ga# hdparm -i /dev/sda

/dev/sda:

 Model=WDC WD15EARS-00Z5B1, FwRev=80.00A80, SerialNo=WD-WMAVU1362357
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=2930277168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode

EDIT2 : Ngay cả vợ tôi cũng nói "trên máy tính mới này, tôi không thể làm gì khi sao chép ảnh từ máy ảnh và nó tệ hơn nhiều so với máy tính cũ". Vì vậy, nó phải nghiêm túc.

EDIT3 : Cập nhật lên 2.6.32, nhưng vẫn không cải thiện

EDIT4 : Tôi quên đề cập rằng đĩa mới là ext4, đĩa cũ là ext3.

EDIT5 : Vẫn chưa giải quyết được. Tôi có bảng ASUS P5QL-E. Các dòng từ dmesg có vẻ phù hợp:

[    0.370850] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)                              
[    0.370852] io scheduler noop registered                                                                      
[    0.370853] io scheduler anticipatory registered                                                              
[    0.370854] io scheduler deadline registered                                                                  
[    0.370876] io scheduler cfq registered (default)
...
[    0.908233] ata_piix 0000:00:1f.2: version 2.13                                                               
[    0.908243] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.908246] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]                                                        
[    0.908275] ata_piix 0000:00:1f.2: setting latency timer to 64                                                
[    0.908316] scsi0 : ata_piix                                                                                  
[    0.908374] scsi1 : ata_piix                                                                                  
[    0.909180] ata1: SATA max UDMA/133 cmd 0xa000 ctl 0x9c00 bmdma 0x9480 irq 19                                 
[    0.909183] ata2: SATA max UDMA/133 cmd 0x9880 ctl 0x9800 bmdma 0x9488 irq 19                                 
[    0.909199] ata_piix 0000:00:1f.5: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.909202] ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]                                                        
[    0.909228] ata_piix 0000:00:1f.5: setting latency timer to 64                                                
[    0.909279] scsi2 : ata_piix                                                                                  
[    0.909326] scsi3 : ata_piix                                                                                  
[    0.910021] ata3: SATA max UDMA/133 cmd 0xb000 ctl 0xac00 bmdma 0xa480 irq 19                       

1
Tôi cũng có cùng một vấn đề. Tôi sử dụng Ubuntu 9.10 64 bit.
Abhijeet Rastogi

1
Có bản cập nhật nào không? vẫn còn vấn đề? Nếu vậy, bạn có thể cho chúng tôi biết bo mạch chủ đang sử dụng loại chipset nào không? bất cứ điều gì thú vị dmesgliên quan đến chipset hoặc ổ đĩa? nếu bạn đã sửa nó bằng cách nào đó, hãy xem xét việc viết một bài viết như một câu trả lời để cho độc giả tương lai biết.
quack quixote

@ ~ quạc, chưa giải quyết được, vui lòng xem chỉnh sửa.
Grzenio

Câu trả lời:


4

Kiểm tra phần bù cho phân vùng - cần chia 4 cho EARS vì chúng có công nghệ 4096. Nếu không - phân vùng lại để có được sự liên kết và các vấn đề về hiệu suất sẽ biến mất (các ổ EARS được sắp xếp sai sẽ thực hiện nhiều thao tác ghi hơn cho mỗi op).


ooOOOOooo. bạn có thể đang ở một cái gì đó đầu ra dmesg chỉ ra rằng nó có thể đang phát hiện ổ đĩa dưới dạng ổ đĩa 512 byte: "[sda] 2930277168 Khối logic 512 byte" .. có "jumper XP" trên ổ đĩa sẽ thiết lập một số chế độ tương thích không? có ... xem jumper "Định dạng nâng cao" ở đây: wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/ trộm .. có thể nói với HĐH rằng nó có các cung 512 byte, hãy chắc chắn rằng nó không bộ.
quack quixote

cảm ơn bạn đã trả lời Bạn có thể cho tôi biết làm thế nào để tôi kiểm tra bù? Tôi chỉ có thể di chuyển phân vùng, hoặc tôi phải tạo lại nó?
Grzenio

Có cách nào để kiểm tra phần bù trên phân vùng không? Một lệnh có thể được chạy?
Warren P

Bạn có thể sử dụng gdisk để kiểm tra độ lệch của phân vùng - Rodbooks.com/gdisk
James Sumners

4

Tôi gặp vấn đề đóng băng tương tự khi thực hiện nhiều IOs trên đĩa. Trong quá trình sao lưu, máy tính để bàn bị đóng băng trong vài giây liên tục cho đến khi sao lưu xong.

Nó không liên quan đến bất kỳ sự liên kết cũng như bất kỳ điều chỉnh hdparm nào (mặc dù tôi đồng ý rằng nó sẽ giúp).

Việc khóa hệ thống là do trình lập lịch IO gây ra, làm chậm quá nhiều một số IO được yêu cầu bởi các ứng dụng tương tác nhiều hơn (Firefox, KDE hoặc bất cứ điều gì). Bộ lập lịch IO bị lỗi là cfg .

Để giải quyết vấn đề, bạn phải sử dụng bộ lập lịch IO thời hạn. Bạn kích hoạt nó trên đĩa bằng lệnh sau mà bạn có thể thêm vào /etc/rc.local :

echo deadline >  /sys/block/sda/queue/scheduler

Kiểm tra Giải quyết khóa hệ thống Linux khi I / O đĩa chuyên sâu được thực hiện để biết thêm thông tin.


2

Đó là một cảnh quay trong bóng tối, nhưng tôi đã gặp một vấn đề như thế này cách đây một thời gian và nguyên nhân hóa ra là hạt nhân không hỗ trợ hoàn toàn chipset và DMA đã bị tắt. Kiểm tra với

hdparm -i /dev/sda

cho dù một trong các chế độ DMA được bật.

(Giải pháp trong trường hợp đó là lấy kernel mới hơn.)


OUTPUT: - Chế độ DMA: mdma0 mdma1 mdma2 Chế độ UDMA: udma0 udma1 udma2 udma3 udma4 udma5 * udma6 vậy, vấn đề là gì ??
Abhijeet Rastogi

Tôi đã nhận: Model=WDC, FwRev=80.00A80, SerialNo=WD-WMAVU1362357 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq } RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50 BuffType=unknown, BuffSize=0kB, MaxMultSect=16, MultSect=16 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=2930277168 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7
Grzenio

Không có chế độ dma dường như có một ngôi sao (nó có liên quan). Có vấn đề gì không? Làm thế nào tôi có thể cấu hình nó?
Grzenio

Ngoài ra, tôi không chắc nếu nó không chỉ liên quan đến các thiết bị IDE, bởi vì tôi nhận được: hdparm -d / dev / sda / dev / sda: HDIO_GET_DMA không thành công: ioctl không phù hợp cho thiết bị
Grzenio

@Grzenio: chế độ udma6 dường như có một ngôi sao, điều đó có sai không? có thể muốn chỉnh sửa thông tin này vào bài viết của bạn để bạn có thể định dạng nó.
quack quixote

2

Tôi đã gặp phải sự cố khi các hoạt động thực hiện nhiều cuộc gọi fsync (2) sẽ gây ra sự cố hệ thống lớn. Trong trường hợp của tôi, tôi đang chạy với phân vùng gốc có trong LVM có trong LUKS. Bạn đang sử dụng LVM hoặc LUKS?

Một công cụ có thể giúp xác định chính xác những gì cụ thể đang nhai đĩa của bạn (thay vì chỉ "cài đặt gói") được gọi iotop. Tôi khuyên bạn nên chạy nó trong khi bạn thực hiện một trong những nhiệm vụ này và nó có thể chỉ ra một số quy trình nền khác có thể được kích hoạt cùng lúc và thu hút tất cả thông lượng I / O của bạn.


Xin chào, xin lỗi vì đã trả lời trễ: iotop nói rằng [jbd2 / sda3-8] sử dụng 80% -99% IO, nhưng đọc, ghi và hoán đổi đĩa là 0,0 cùng một lúc. Có ý kiến ​​gì không?
Grzenio

Nói chung, kiểm tra fsync quá mức là một điểm tốt để kiểm tra. Tuy nhiên, trong trường hợp này, phần mềm tương tự hoạt động tốt hơn nhiều trên các phần cứng khác (T60 cũ), do đó, nó trông giống như một vấn đề với sự kết hợp trình điều khiển phần cứng cụ thể này. Tuy nhiên, tốt để giữ điều này trong tâm trí.
sleske

2

sudo fdisk -u / dev / sda

Điều đó sẽ cung cấp cho bạn sự bù đắp bắt đầu. Tôi 'nghĩ' bạn có thể tạo phân vùng bằng fdisk -o 64 hoặc một cái gì đó - Tôi sẽ phải google nó vì vậy Ill cho phép bạn thực hiện thao tác trên fdisk và cài đặt bù phân vùng theo cách thủ công (mặc định là 63 vì vậy không tốt).

và vâng, đĩa sẽ hiển thị với các cung 512b vì nó giả vờ như vậy đối với HĐH - Vista / W7 xử lý việc này bằng cách đặt bù trừ chính xác, nhưng XP và tôi nghĩ rằng gần như tất cả các bản phân phối linus không :( theo cách thủ công là cách duy nhất (của tôi chỉ là một ổ lưu trữ và được tạo trong win7 / ntfs nên không có vấn đề gì với tôi)

Chỉnh sửa: - Tìm thấy một bài đăng hay trên wdc - điều này sẽ giúp bạn khởi động và hoạt động nhanh chóng :)

http://community.wdc.com/t5/Desktop/Probols-with-WD-Avised-Format-drive-in-LINEUX-WD15EARS/mp/10920#M631


Xin chào, tôi đã nhận được: grze: / home / ga # fdisk -u / dev / sda Số lượng hình trụ cho đĩa này được đặt thành 182401. Không có gì sai với điều đó, nhưng con số này lớn hơn 1024 và có thể trong một số thiết lập nhất định gây ra sự cố với: 1) phần mềm chạy khi khởi động (ví dụ: phiên bản cũ của LILO) 2) phần mềm khởi động và phân vùng từ các HĐH khác (ví dụ: DOS FDISK, OS / 2 FDISK) Lệnh (m để được trợ giúp):
Grzenio

Cuối cùng tôi cũng xoay sở để hoàn thành nó, nhưng nó không thực sự giúp ích :( Vấn đề thực sự phải ở một nơi khác.
Grzenio

1

Chỉ là một cảnh quay ngẫu nhiên, có vẻ ngu ngốc khi bạn sử dụng Debian ... nhưng tôi thấy rằng nó đã giúp một người có cùng mô hình ổ cứng: bạn đã thử cập nhật BIOS của mình chưa?


Không, tôi không có. Đáng để thử dù có lẽ
Grzenio

1

Theo nguyên tắc chung, nếu bạn có thể sử dụng hdparm trên thiết bị, thì đó là giao diện ATA "cũ", so với giao diện SATA / SCSI mới hơn. Nếu đó là trường hợp, thì vấn đề có lẽ là đĩa op trong khi ngắt không được bật theo mặc định. Đây là một vấn đề phổ biến trên một số máy sử dụng giao diện ATA cũ hơn và sẽ làm giảm hiệu suất của đĩa hoặc hệ thống trong các hoạt động I / O nặng.

Bạn thực sự nên thử điều này:

sudo hdparm -t -T /dev/sda
sudo hdparm -a8 -c3 -u1 /dev/sda
sudo hdparm -t -T /dev/sda

Nếu bạn không thấy sự cải thiện về hiệu suất trong lần chạy thứ 2 (lệnh thứ ba) thì sẽ có điều gì đó khác xảy ra.

Một yếu tố khác đang mong đợi chế độ UDMA6 hoạt động trên cáp không phải UDMA (giả sử đó không phải là giao diện SATA). Nếu bạn đang sử dụng cáp ATA 80 chân, bạn vẫn ổn; nếu bạn đang sử dụng loại pin 40 tuổi cũ hơn, bạn sẽ nhận được tất cả các loại đau buồn. Nếu cáp là loại 40 chân cũ hơn, bạn sẽ cần giảm tốc độ truyền xuống một cái gì đó có thể được hỗ trợ "an toàn". CẢNH BÁO: điều chỉnh giao diện IDE có thể treo ổ đĩa và / hoặc giao diện, và nếu ổ đĩa là hệ thống tập tin gốc của bạn, toàn bộ hệ thống sẽ bị treo với nó!

Nếu bạn cần giảm tốc độ truyền để phù hợp với phần cứng, hãy thử các cách sau:

sudo hdparm -t -T /dev/sda
sudo sync; sleep 3 ; sync    
sudo hdparm -d 1 -X mdma2 /dev/sda
sudo hdparm -t -T /dev/sda

Một lần nữa, thời gian thứ hai (lệnh thứ ba được ban hành) sẽ cho thấy một sự cải thiện.

Cuối cùng, ổ đĩa có thể là lề, nhưng không có báo cáo SMART, bạn có thể không nhận thấy vấn đề (cho đến khi quá muộn). Tôi thực sự khuyên bạn nên cài đặt smartmontoolsgói để hỗ trợ bạn, đặc biệt nếu bạn có một ổ đĩa cũ sẽ cần một chút TLC ngay bây giờ.

sudo apt-get update && apt-get install smartmontools

NẾU không thành công, hãy tìm /var/log/messagescác lỗi I / O của đĩa.


Cập nhật:

Có vẻ như bạn không đơn độc. Có các bảng tin trên khắp 'báo cáo mạng tất cả các loại đau lòng với các đơn vị này.

Cũng có đề cập đến ổ đĩa sử dụng kích thước cung 4k so với kích thước 512 "truyền thống". Tôi chỉ có thể tưởng tượng loại rắc rối này phải gây ra.

Cuối cùng, nhìn vào đầu ra của bạn một lần nữa, có vẻ như luồng nhật ký đang buộc khá nhiều hệ thống. Một hệ thống tệp không được ghi nhật ký có thể tạm thời làm giảm bớt vấn đề, nhưng nó tốt nhất là dự phòng và không khắc phục được vấn đề tồi tệ nhất.


Hi, nhờ trả lời của bạn. (1) Đây là ổ đĩa SATA và được kết nối bằng cáp sata mỏng với giao diện sata trên bo mạch chính. (2) Đã thử nghiệm thử nghiệm đầu tiên và hiệu suất giảm mạnh từ 90,93 MB / giây xuống 52,50 MB / giây. Hiệu suất đọc thô dường như không phải là vấn đề (90 MB là những gì tôi mong đợi từ ổ đĩa này), chỉ là một số hoạt động nhỏ đã đóng băng hệ thống
Grzenio

Thử nghiệm thứ hai cũng không thực sự cải thiện bất cứ điều gì. Trong cả trường hợp đầu tiên và hầu hết các tham số thứ hai đều không được đặt: hdparm -d 1 -X mdma2 / dev / sda / dev / sda: cài đặt bằng cách sử dụng_dma thành 1 (bật) HDIO_SET_DMA không thành công: ioctl không phù hợp cho thiết lập thiết bị xfermode 34 (chế độ đa từ DMA2) HDIO_DRIVE_CMD (setxfermode) không thành công: Trao đổi không hợp lệ HDIO_GET_DMA không thành công: ioctl không phù hợp cho thiết bị
Grzenio

Tôi đã cài đặt smartmontools ngày hôm qua, nhưng tôi không biết cách sử dụng chúng. Bạn có thể cho biết thêm một chút chi tiết?
Grzenio

Ôi. Vì vậy, một ổ cứng mới sẽ là một ý tưởng tốt.
Warren P

1

Điều này cuối cùng đã được sửa! Như @Rachel đã chỉ ra, vấn đề thực sự là liên kết với các lĩnh vực 4kb, nhưng tiếc là bài viết được liên kết không chính xác :(

Cách chính xác để căn chỉnh các phân vùng là ở đây: http://www.linuxconfig.org/linux-wd-ears-advified-format

Và bài viết này cung cấp một điểm chuẩn khá tốt để bạn có thể kiểm tra xem bảng phân vùng của mình có đúng không: http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2955

Bên cạnh đó, nếu bạn có ổ đĩa này và sử dụng Linux, bạn cũng NÊN tăng một trong những bộ đếm thời gian nhàn rỗi như được mô tả ở đây: http://wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/std_adp .php? p_faqid = 5357 & p_created = 1266947046 & p_sid = Os7DQL2k & p_accessibility = 0 & p_redirect = & p_srch = 1 & p_lva = & p_sp = cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9NTEsNTEmcF9wcm9kcz0yMjcsMjk0JnBfY2F0cz0xMzAmcF9wdj0yLjI5NCZwX2N2PTEuMTMwJnBfcGFnZT0x & p_li = & p_topview = 1


Liên kết thứ 2 không hoạt động thay thế?
xliiv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.