# Problemas de rendimiento (discos duros?) (solucionado)

## mad93

Hola, desde hace un tiempo tengo un problema de rendimiento en mi máquina, que la deja casi inservible cuando transfiero algun archivo, abro un zip, etc. Yo diria que es al acceder a los discos duros. Mi tasa de transferencia entre los dos discos duros no supera los 2 MB/segundo.

Me gustaria saber si hay alguna manera de saber si los discos estan tocados o es que tengo alguna configuración mal del sistema.

He mirado la salida del hdparm con los siguientes valores:

```

hdparm -Tt /dev/hda

/dev/hda:

 Timing cached reads:   1138 MB in  2.00 seconds = 569.16 MB/sec

 Timing buffered disk reads:    6 MB in  3.63 seconds =   1.65 MB/sec

hdparm -Tt /dev/hdd

/dev/hdd:

 Timing cached reads:   1112 MB in  2.00 seconds = 554.66 MB/sec

 Timing buffered disk reads:    8 MB in  3.41 seconds =   2.34 MB/sec

```

He mirado por internet y este resultado parece ser muy pobre para my computadora, p4 3Ghz con 1 GB de RAM.

A ver si alguien me puede decir que puedo mirar, gracias.Last edited by mad93 on Fri Jan 18, 2008 8:10 pm; edited 1 time in total

----------

## Stolz

La verdad es que es un rendimiento muy bajo. Puede tener muchas causas. Por el nombre de tus discos vero que no son  SATA. Yo lo primero que haría es leerme a fondo la documentación de hdparm, activar el DMA y establecer los ajustes óptimos según sean ATA100 o ATA1333. Puedes partir de algo así como

```
hdparm -d1 -c3 -u1 -X71 -m16 /dev/hda
```

No tomes estos valores como los óptimos para tu disco, modificalos según la documentación para ver lo que hacen y añade los que creas oportunos y sobre todo haz pruebas. Pienso que la mejor información siempre está en la documentación oficial de hdparm (man hdparm) pero también puedes mirar en este hilo y en el wiki.

Cuando ya tengas bien configurado hdparm, si sigues experimentando problemas de rendimiento habrá que mirar otras cosas. Lo primero sería estudiar si el esquema con el que has particionado tus discos y si el sistema de ficheros de cada punto de montaje es el más adecuado. También puede ser que tus discos estén muy fragmentados. Con el esquema adecuado y procurando no tener muy llenas las particiones puedes evitar o retrasar en buena parte la fragmentación. Algunas buenas lecturas:

[HOWTO] Optimizando particiones

[FS] Fragmentación del disco

A donde van los ficheros que se generan al compilar

[HDDs] Desfragmentar particiones en linux

Dudas con particiones /var/tmp /tmp /usr/portage

y unas cuantas que no encuentro. Usa la búsqueda del foro que se ha hablado mucho.

Si sigues con problemas de rendimiento ya habría que mirar el tema hardware. Tal vez tengas los discos conectados de una forma incorrecta, o más de un disco en la misma controladora o con un cable no adecuado. También puede hacer alguna opción incorrecta en la BIOS. Como últiam opción y contestando a tu pregunta, para ver si los discos está tocados puedes usar sys-apps/smartmontools.

Ya tienes para leer un rato, haz pruebas y si sigues con problemas comenta.

Saludozzzzzzz

----------

## mad93

Muchas gracias por la respuesta.

La verdad es que soy un cabezón ><

He hecho un e2fsk de los discos (he añadido un ide i un sata más, para probar con otros discos). 

La cosa es que no tengo el dma activado en los discos ><

En la configuración de la bios tengo forzadas las dma máximas que cada disco permite y tengo el módulo piix cargado, aquí la salida de mi lspci -v:

```
lspci -v

00:00.0 Host bridge: Intel Corporation 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02)

        Subsystem: ASRock Incorporation Unknown device 2570

        Flags: bus master, fast devsel, latency 0

        Memory at f8000000 (32-bit, prefetchable) [size=64M]

        Capabilities: [e4] Vendor Specific Information <?>

        Capabilities: [a0] AGP version 3.0

00:01.0 PCI bridge: Intel Corporation 82865G/PE/P PCI to AGP Controller (rev 02) (prog-if 00 [Normal decode])

        Flags: bus master, 66MHz, fast devsel, latency 32

        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32

        I/O behind bridge: 0000a000-0000afff

        Memory behind bridge: ff000000-ff0fffff

        Prefetchable memory behind bridge: d7f00000-f7efffff

00:1d.0 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 16

        I/O ports at e000 [size=32]

00:1d.1 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 19

        I/O ports at e400 [size=32]

00:1d.2 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 20

        I/O ports at e800 [size=32]

00:1d.3 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 16

        I/O ports at ec00 [size=32]

00:1d.7 USB Controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 18

        Memory at ff27fc00 (32-bit, non-prefetchable) [size=1K]

        Capabilities: [50] Power Management version 2

        Capabilities: [58] Debug port: BAR=1 offset=00a0

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2) (prog-if 00 [Normal decode])

        Flags: bus master, fast devsel, latency 0

        Bus: primary=00, secondary=02, subordinate=02, sec-latency=32

        I/O behind bridge: 0000b000-0000bfff

        Memory behind bridge: ff100000-ff1fffff

00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)

        Flags: bus master, medium devsel, latency 0

00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02) (prog-if 8a [Master SecP PriP])

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: bus master, medium devsel, latency 0, IRQ 20

        I/O ports at <unassigned>

        I/O ports at <unassigned>

        I/O ports at <unassigned>

        I/O ports at <unassigned>

        I/O ports at fc00 [size=16]

        Memory at 50000000 (32-bit, non-prefetchable) [size=1K]

00:1f.2 IDE interface: Intel Corporation 82801EB (ICH5) SATA Controller (rev 02) (prog-if 8f [Master SecP SecO PriP PriO])

        Subsystem: ASRock Incorporation Unknown device 24d1

        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 20

        I/O ports at d400 [size=8]

        I/O ports at d000 [size=4]

        I/O ports at cc00 [size=8]

        I/O ports at c800 [size=4]

        I/O ports at c400 [size=16]

00:1f.3 SMBus: Intel Corporation 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02)

        Subsystem: ASRock Incorporation Unknown device 24d0

        Flags: medium devsel, IRQ 5

        I/O ports at 0400 [size=32]

00:1f.5 Multimedia audio controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller (rev 02)

        Subsystem: ASRock Incorporation Unknown device 9761

        Flags: bus master, medium devsel, latency 0, IRQ 21

        I/O ports at d800 [size=256]

        I/O ports at dc00 [size=64]

        Memory at ff27f800 (32-bit, non-prefetchable) [size=512]

        Memory at ff27f400 (32-bit, non-prefetchable) [size=256]

        Capabilities: [50] Power Management version 2

01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01) (prog-if 00 [VGA controller])

        Subsystem: Hightech Information System Ltd. Radeon 9200 SE Excalibur

        Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 16

        Memory at e8000000 (32-bit, prefetchable) [size=128M]

        I/O ports at a800 [size=256]

        Memory at ff0f0000 (32-bit, non-prefetchable) [size=64K]

        Expansion ROM at ff0c0000 [disabled] [size=128K]

        Capabilities: [58] AGP version 3.0

        Capabilities: [50] Power Management version 2

01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (Secondary) (rev 01)

        Subsystem: Hightech Information System Ltd. Radeon 9200 SE Excalibur (Secondary)

        Flags: bus master, 66MHz, medium devsel, latency 32

        Memory at e0000000 (32-bit, prefetchable) [size=128M]

        Memory at ff0e0000 (32-bit, non-prefetchable) [size=64K]

        Capabilities: [50] Power Management version 2

02:02.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)

        Subsystem: Avermedia Technologies Inc Unknown device 2c05

        Flags: bus master, medium devsel, latency 32, IRQ 18

        Memory at ff1ffc00 (32-bit, non-prefetchable) [size=1K]

        Capabilities: [40] Power Management version 1

02:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

        Subsystem: ASRock Incorporation Unknown device 8139

        Flags: bus master, medium devsel, latency 32, IRQ 17

        I/O ports at b800 [size=256]

        Memory at ff1ff800 (32-bit, non-prefetchable) [size=256]

        Capabilities: [50] Power Management version 2

```

He leido que mejor tener el piix builtin que no como módulo así que he recompilo el kernel y lo pruebo así (si es que no me equivoco al usar el piix i es otro).

----------

## mad93

Al incluir el driver en el kernel y no como módulo todo ha ido perfecto (bueno, he comprovado que el SATA que he puesto está a las últimas.. xD).

Muchas grácias, miraré los links que has puesto para mirar de sacarle mejor partido  :Wink: 

----------

## i92guboj

El problema parece estar solucionado, sin embargo comentaré unas cuantas cosas:

En primer lugar, ese rendimiento era demasiado bajo, incluso sin dma. Además, si los discos son sata, hdparm no es la herramienta a usar, y la información que arroje, no es verdadera ni fiable. Sin embargo, los test de velocidad aún deberían funcionar.

La información sobre el dma no la puede ver hdparm, usa sdparm en su lugar. Pero de todas formas, los discos controlados por drivers scsi y afines siempre usan bus mastering, es decir, que el dma está siempre activo.

Si el disco es SATA real, y no un ide bajo emulación SATA via el driver PATA, entonces la gran mayoría de los links de arriba no son aplicables, porque es información pensada para discos IDE. Así mismo, la fragmentación no debería afectar al test de velocidad, porque creo que dicho test hace una lectura secuencial del disco, haya lo que haya. En realidad, creo que no requiere ni siquiera un sistema de archivos, lo cual confirmaría eso.

Por eso, lo más probable es que fuera un problema mixto entre hardware y drivers de no muy alta calidad y una configuración concreta que a tus drivers no le gustaba mucho  :Razz: 

----------

## mad93

La placa base no es que sea una maravilla... es lo que encontré asequible para cambiar una pb con socket 478, que pocas se encuentran ya en tiendas y tal.

En lo referente al SATA, no me hace falta ninguna media para ver que está a las últimas   :Crying or Very sad:  , da 'golpes' como si se golpeara con la carcasa, y se queda a veces frito escribiendo (va a golpes por así decir-lo).

Parece ser que los dos discos duros están tocados (hdb i sda), ya que el hdb leo en el dmesg que hace operaciones ilegales y resetea el controlador (afectando al hda también). Así que seguramente ambos esten tocados.

No sé si haciendo que el e2fsk mire los badblocs puede mejorar algo, en cualquier caso será lo que miraré en breve.

Parece ser que si no me dejo pasta en nuevos discos poco mejorará la cosa   :Crying or Very sad: 

----------

## i92guboj

 *mad93 wrote:*   

> La placa base no es que sea una maravilla... es lo que encontré asequible para cambiar una pb con socket 478, que pocas se encuentran ya en tiendas y tal.
> 
> En lo referente al SATA, no me hace falta ninguna media para ver que está a las últimas   , da 'golpes' como si se golpeara con la carcasa, y se queda a veces frito escribiendo (va a golpes por así decir-lo).
> 
> Parece ser que los dos discos duros están tocados (hdb i sda), ya que el hdb leo en el dmesg que hace operaciones ilegales y resetea el controlador (afectando al hda también). Así que seguramente ambos esten tocados.
> ...

 

Te aconsejaría probarlos por separado en otra máquina. He visto montones de cosas raras, y muchas veces un disco o una unidad de cdrom o dvd en mal estado (por ejemplo, con la controladora medio frita tras una subida de tensión) hace que todos los discos en el bus se empiecen a comportar de forma extraña.

Que sean de tipo distinto (SATA vs. IDE) no es garantía, porque muchas el supuesto bus IDE va en realidad montado con emulación sobre la misma controladora SATA.

Claro que es perfectamente posible que ambos se hayan quemado. No sería la primera vez que lo veo. Cuando el problema es una sobretensión en realidad puede afectar a cualquier pieza, y los discos son de las más vulnerables.

----------

## mad93

Me atreveria a descartar el controlador, puesto que la pb anterior aun 'funcionaba' (sólo arrancaba sin pila de bios) y me daba los mismos problemas, al activar el dma y por hacer pruebas los he vuelto a montar con la esperanza que fuera la pb, pero aunque funcionan se ve que son los discos los que no van del todo bien (cuando les he pasado el e2fsk la salida ha sido kilométrica, y ahora la particion sda2 se ha remontado ahora como sólo de lectura...).

----------

