在使用安装Ubuntu的旧硬件时,我注意到使用top时花费了大量CPU时间等待IO操作(网络数据传输正在进行中)。因此,我使用以下命令检查DMA状态:
sudo hdparm -d /dev/sdb2
/dev/sdb2:
HDIO_GET_DMA failed: Inappropriate ioctl for device这是否意味着设备没有使用DMA?我还试图检索有关硬件的信息,并得到了以下信息:
sudo hdparm -I /dev/sdb2
/dev/sdb2:
ATA device, with non-removable media
Model Number: WDC WD1600JB-00GVA0
Serial Number: WD-WCAL91665091
Firmware Revision: 08.02D08
Standards:
Supported: 6 5 4
Likely used: 8
Configuration:
Logical max current
cylinders 4092 65535
heads 16 1
sectors/track 63 63
--
CHS current addressable sectors: 4128705
LBA user addressable sectors: 66055248
LBA48 user addressable sectors: 312581808
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 152627 MBytes
device size with M = 1000*1000: 160041 MBytes (160 GB)
cache/buffer size = 8192 KBytes (type=DualPortCache)
Capabilities:
LBA, IORDY(can be disabled)
Standby timer values: spec'd by Standard, with device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Recommended acoustic management value: 128, current value: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* DOWNLOAD_MICROCODE
SET_MAX security extension
Automatic Acoustic Management feature set
* 48-bit Address feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* SMART Command Transport (SCT) feature set
* SCT Long Sector Access (AC1)
* SCT LBA Segment Access (AC2)
* SCT Error Recovery Control (AC3)
* SCT Features Control (AC4)
* SCT Data Tables (AC5)
Security:
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
HW reset results:
CBLID- above Vih
Device num = 1 determined by the jumper
Checksum: correct根据我的理解,DMA应该得到支持。为什么我会得到这个错误,当两个网络传输运行时,顶部显示的值超过90%是不寻常的?
发布于 2012-10-01 01:17:42
在10.04和12.04的两台非常不同的计算机上,我得到了同样的信息。添加making -d -d1表示它正在打开它,但我怀疑这些信息告诉我们它并不真正有效。
不过,我的磁盘访问能力很好。
我曾经遇到过磁盘响应慢的问题,如果我没记错的话,那是因为DMA没有工作。原因是一个坏的丝带电缆,曾经被操纵了太多,所以它有一个中断的控制引线用于DMA。更换带状电缆大大提高了性能。
在我的例子中,我在启动时看到了一条警告信息,当我更换电缆时,它就消失了。我建议您查看/var/log/syslog,查找有关磁盘适配器或驱动器的可疑消息。
https://askubuntu.com/questions/194950
复制相似问题