Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
Mam podłączony dysk SATA poprzez kontroler na PCI. Chciałbym zmniejszyć w nim częstotliwość parkowania głowicy i wyłączyć zasilanie jeśli jest nieużywany (to drugi dysk).
hdparm nie działa na ten dysk
hdparm -B254 /dev/sda /dev/sda: setting Advanced Power Management level to 0xfe (254) HDIO_DRIVE_CMD failed: Input/output error
Z kolei sdparm ma inną składnie i ciężko mi znaleźć jakieś konkrety.
Może ktoś ma jakiś pomysł?
Offline
wpisz do crontaba linijkę, która będzie co 5 minut tworzyła pusty plik na tym dysku i usuwała go ;)
albo ls > /dev/null czy coś w ten deseń
po prostu rób coś na tym dysku. mało eleganckie, ale skuteczne :)
Offline
Fakt mało eleganckie :)
ale teraz jest inna sprawa. Kompilowałem nowe jądro bo te standardowe z Lennego nie obsługiwało ext4. Po aktualizacji wcześniejszy dysk który był wykrywany jako hda jest teraz sda i jak wcześniej mogłem ustawiać dla niego opcje przez hdparm to teraz już nie.
Tak więc czy da się wymusić obsługę tego dysku (ATA) przez kontroler ATA nie SCSI?
Offline
Mam dysk sata i używam hdparm. Zależy od dysku.
Offline
To czy czy hdparm da rade zaradzać dyskiem zależy pewnie od sterownika, który jest używany co zapewne miało miejsce jak kompilowałem nowe jajko i po tym z hda zrobiło mi się sda.
Jak wcześniej hdparm z hda działa bez problemu to teraz dla sda nie chce (choć fizycznie nic się nie zmieniło) czyli wniosek taki że sterownik za to odpowiada.
Więc teraz pytanie? który :)
Offline
panowie, oboje macie rację. to czy hdparm potrafi obsłuzyć dany dysk zależy oczywiście od sterownika w jajcu i od samego dysku też. oprócz tego zależy także od wersji hdparma ;)
może nie wkompilowałeś w jajco właściwego sterownika dla swojego kontrolera dysku? zarzuć wynik lspci
Offline
Proszę bardzo:
Są dwa kontrolery jeden na płycie VIA (IDE ATA) i jeden na PCI Promise (SATA)
lspci -vv 00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] (prog-if 00 [Normal decode]) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ INTx- Latency: 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 Memory behind bridge: e4000000-e5ffffff Prefetchable memory behind bridge: e0000000-e3ffffff Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR+ BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [80] Power Management version 2 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel modules: shpchp 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP]) Subsystem: VIA Technologies, Inc. Device aa01 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 Interrupt: pin A routed to IRQ 5 Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1] Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8] Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1] Region 4: I/O ports at d000 [size=16] Capabilities: [c0] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: pata_via Kernel modules: pata_via 00:14.0 Mass storage controller: Promise Technology, Inc. PDC20375 (SATA150 TX2plus) (rev 02) Subsystem: Promise Technology, Inc. PDC20375 (SATA150 TX2plus) Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 96 (1000ns min, 4500ns max), Cache Line Size: 576 bytes Interrupt: pin A routed to IRQ 12 Region 0: I/O ports at dc00 [size=64] Region 1: I/O ports at e000 [size=16] Region 2: I/O ports at e400 [size=128] Region 3: Memory at e7421000 (32-bit, non-prefetchable) [size=4K] Region 4: Memory at e7400000 (32-bit, non-prefetchable) [size=128K] [virtual] Expansion ROM at 20000000 [disabled] [size=16K] Capabilities: [60] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: sata_promise Kernel modules: sata_promise
Do kompletu jeszcze lsmod:
lsmod Module Size Used by nfsd 191039 11 lockd 49101 1 nfsd nfs_acl 1695 1 nfsd auth_rpcgss 24892 1 nfsd sunrpc 133436 9 nfsd,lockd,nfs_acl,auth_rpcgss exportfs 2526 1 nfsd ext4 250398 1 jbd2 54715 1 ext4 crc16 1027 1 ext4 fuse 43130 1 padlock_aes 4295 0 aes_generic 25738 1 padlock_aes via_rng 1085 0 rng_core 2178 2 via_rng vt1211 9728 0 hwmon_vid 1504 1 vt1211 loop 9609 0 usbhid 27360 0 hid 50405 1 usbhid evdev 5581 0 i2c_viapro 4383 0 parport_pc 15799 0 parport 22526 1 parport_pc i2c_core 12540 1 i2c_viapro button 3586 0 processor 25439 1 ehci_hcd 26714 0 uhci_hcd 15709 0 firewire_ohci 16425 0 serio_raw 2920 0 floppy 40843 0 shpchp 21220 0 sata_promise 7177 1 usbcore 96165 4 usbhid,ehci_hcd,uhci_hcd via_rhine 14166 0 firewire_core 30503 1 firewire_ohci via_ircc 13231 0 mii 2714 1 via_rhine nls_base 4541 1 usbcore pci_hotplug 18065 1 shpchp crc_itu_t 1035 1 firewire_core irda 75720 1 via_ircc crc_ccitt 1039 1 irda ext3 93133 5 jbd 31605 1 ext3 mbcache 3766 2 ext4,ext3 sd_mod 25601 9 crc_t10dif 1012 1 sd_mod thermal 9198 0 fan 2590 0 thermal_sys 9378 3 processor,thermal,fan ata_generic 2015 0 pata_via 5577 6 libata 113120 3 sata_promise,ata_generic,pata_via scsi_mod 100576 2 sd_mod,libata
Ostatnio edytowany przez life (2010-12-06 10:47:18)
Offline
Ktoś ma jakąś propozycję? :)
Nowy kernel jaki kompilowałem to 2.6.32
Ostatnio edytowany przez life (2010-12-08 08:37:25)
Offline
[quote=life]Ktoś ma jakąś propozycję? :)[/quote]
[quote=milyges]Wywal libata z jajka.[/quote]
Skoro chcesz jechać na starych sterach IDE, to ta propozycja jest przecież idealna :P
Offline
Czyli co wywalić libata z initrd (bo stamtąd jest ładowany)? dodanie bo blacklist nic nie daje (moduł się ładuje).
Offline
Nie wiem czy tak się da wymusić, chodziło raczej o zrobienie tego na etapie kompilacji...
ta gałąź to stery ide:
│ Symbol: IDE [=n] │ Type : tristate │ Prompt: ATA/ATAPI/MFM/RLL support (DEPRECATED) │ Defined at drivers/ide/Kconfig:9 │ Depends on: HAVE_IDE [=y] && BLOCK [=y] │ Location: │ -> Device Drivers
a ta to libata:
│ Symbol: ATA [=y] │ Type : tristate │ Prompt: Serial ATA and Parallel ATA drivers │ Defined at drivers/ata/Kconfig:5 │ Depends on: HAS_IOMEM [=y] && BLOCK [=y] && (!M32R && !M68K || BROKEN [=n]) │ Location: │ -> Device Drivers │ Selects: SCSI [=y]
Zobacz jakich sterowników używasz na tym kernelu na którym wszystko działa i wkompiluj to co trzeba ze sterów ide, a libata całkiem wyłącz.
================================
[b]EDIT:[/b] Tak w ogóle to Ty masz Lennego i sam kompilowałeś jajo żeby mieć wsparcie ext4? Zakładając że tak... Sprawdź na dystrybucyjnym kernelu 2.6.32 z backportów dla Lennego (ext4 jest w nim wkompilowane), może tam po prostu będzie działać ;)
Offline
usunięcie libata z initrd skutkuje tym że system nie chce się uruchomić.
No nic sprawdzę jeszcze kompilację kernela bez libata
-- EDIT --
Dziś zrobiłem upgrade systemu do Squeez i zainstalowałem jajko systemowe (myślałem że to pomoże) ale sytuacja bez zmian.
Ostatnio edytowany przez life (2010-12-12 21:48:31)
Offline
A próbowałeś metody na zmniejszenie ilości parkowań głowicy opisanej przez [url=http://www.ubuntu-pomoc.org/zatrzymanie-parkowania-glowicy/]Szmitasa[/url]?
Ostatnio edytowany przez zbig (2010-12-13 09:58:59)
Offline
Przekompilowane jądro, bez libata (ata_generic i sterowniki mostka płyty vtxxx) dyski nadal widoczne jako sdx i hdparm
Zbig - sprawdzę jeszcze z latop-detect i acpi-support może pomoże, dzięki
Offline
Za sdx odpowiadają sterowniki scsi
Offline
to wiem i jest do tego sdparm ale jego skladnia jest zupełnie inna i nie ma wszystkich opcji co hdparm a manual mało czytelny jak dla mnie.
Ostatnio edytowany przez life (2010-12-13 13:43:10)
Offline
O po co chcesz wydłużyć czas bezczynności konieczny do zaparkowania głowicy oraz wyłączać jego zasilanie? Bo o uwstecznianiu jajka nie ma co mówić.
Offline
[quote=qluk]O po co chcesz wydłużyć czas bezczynności konieczny do zaparkowania głowicy oraz wyłączać jego zasilanie? Bo o uwstecznianiu jajka nie ma co mówić.[/quote]
Bo w chwili obecnej parkuje mi nawet około 200-300 razy na dobę.
Offline
Ale to nie wyjaśnia paradoksu z wyłączeniem. I co z tego że parkuje. Ma parkować bo inaczej zaora o talerz.
Offline
Dysk jest nowy ma przepracowane 98 godzin i zaliczył 1300 parkowań głowicy. Czyli co mam się tym nie przejmować?
Offline
Większość nowych dysków ma mechanizmy oszczędzania energii. Żeby dysk wyhamować trzeba przemieścić głowice w bezpieczne położenie. Identycznie jest gdy dysk ma.zmienną prędkość wirowania jako mechanizm oszczędzania energii. Problem parkowania wplywa na responsywnosc podczas wybudzenia.
Wogóle to zacznijmy od tego że nie wiemy jaki to dysk i co SMART wykazuje.
Offline
Dysk 3,5 cala, 1,5TB WD (seria green), po południu postaram się wrzucić to co wypluwa SMART.
Te parkowanie nie będzie mi przeszkadzać, jeśli będę wiedział że oscyluje w bezpiecznym zakresie, a na chwilę obecną to nie wiem czy jest to norma czy nie.
[b]-- EDIT --[/b]
Znalazłem informacje na stronie WD że ilość cykli jaką gwarantują to 300 000 (Load/Unload Cycles) jeśli to ten parametr bo nie było to jakoś dokładnie opisane.
Tak więc przeliczając to co do tej pory było (1300 cykli na 98 godzin pracy) to poziom 300 000 cykli osiągnę za około 2,5 roku. Czyli stosunkowo szybko co jest mało pocieszające.
[b]-- EDIT2 --[/b]
Zdaje się że jest to problem dysków WD które przechodzą w stan uśpienia po 8 sekundach bezczynności, jeśli na dysku trwają jakieś operacje to jest to problem częstego wybudzania. Ponoć jest program (wdidle3) którym można zmienić w firmware parametry i zamiast 8 sekund dać np, 5 minut.
Poszperam dokładniej na forum WD, zrobię jakąś bootującą płytę z FreeDOS i zobaczymy :)
Tak czy siak będę tu pisał jak się sprawy mają.
Ostatnio edytowany przez life (2010-12-16 13:15:11)
Offline
Ogłaszam wszem i wobec że winę za częste parkowanie głowicy ponosił sam dysk a dokładnie jego fabryczne ustawienia który wyrywały bezczynność po 8 sekundach i parkowały głowicę. Wyżej wspomniany program (wdidle3) pozwala na zmianę tego parametru. Ja ustawiłem na 5 minut okres po jakim parkowana jest głowica i póki co sprawuje się świetnie :)
Z tego co wyczytałem na forum WD problem dotyczy większość dysków z serii green.
Offline
Najbardziej cieszy mnie fakt że zaczołeś szukać wiedzy i informacji. Jak więc widzisz samo parkowanie to norma. :)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00091 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.16.47.89' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.16.47.89', 1732772962) |
0.00051 | SELECT * FROM punbb_online WHERE logged<1732772662 |
0.00047 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=17872 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00352 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=17872 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17872 |
Total query time: 0.00704 s |