Portál AbcLinuxu, 19. dubna 2024 09:31


Dotaz: Nice pro kopírování dat?

30.4.2009 19:07 tobik | skóre: 13
Nice pro kopírování dat?
Přečteno: 550×
Odpovědět | Admin

Při kopírování velkého objemu dat, které trvá řádově několik minut, se stává práce s počítačem téměř nesnesitelná. Okenní prostředí chvílemi zcela zamrzává a spustit jakýkoliv program i třeba z konzole trvá řádově mnohem déle. Rychlost kopírování je normální, tzn. v závislosti až 30MB/s. I zatížení procesoru se pohybuje na úrovni kolem 20%, žádné extrémní vytížení.

Schleduler mám nastavený na cfq. Systém je Gentoo, notes GX620, procesor dvoujádro 2.2GHZ, 4GB RAM, notebookový disk 5400 otáček, tedy poměrně silný stroj, pouze ten disk není nejrychlejší, ale i přesto se mi zdá takové chování divné. Filesystém je XFS, windows partition je NTFS a pak ještě používám NTFS externí disk. Chování je totožné, ať už kopíruji XFS > XFS, či XFS > NTFS.

Nelze nějakým způsobem nastavit prioritu pro práci s daty popř. omezit max rychlost kopírování? Abych kdykoliv, kdy kopíruji HD film někam, nemusel na 10 minut přerušit všechnu práci. Pokud např. něco tahám po síti, tedy je rychlost omezena 100Mbit kabelem, funguje vše v pořádku.

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

30.4.2009 19:20 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pri cfq by malo io prioritu ovplyvňovať nice procesu.

Nejaké informácie sa dajú nájsť aj v dokumentácii ku kernelu Documentation/block/ioprio.txt.
Nikola Ciprich avatar 30.4.2009 19:21 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?
Odpovědět | | Sbalit | Link | Blokovat | Admin
budou vas zajimat 2 veci:

ionice

- funguje pouze pro CFQ scheduler

- neni vsemocny

omezit spotrebu cache pres cgroups

- to je opravdu dost ucinne

- vice informaci napr zde
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
1.5.2009 00:30 tobik | skóre: 13
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?

Paráda, cgroups je přesně to, co jsem potřeboval. Vyzkoušel jsem si tu ukázku z článku a funguje to, jen mi není jasné, jak to mám aplikovat na celý systém... Jestli je nějaký centrální rodičovský proces, který stačí umístit do tého skupiny. Ještě jak to ideálně nastavit při startu systému, bude stačit vložit správné řádky do /etc/con.d/local.start?

Nikola Ciprich avatar 1.5.2009 14:36 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?
jak pise tobik podemnou, neni to tak jednoduche...

pokud vam jde o kopirovani napriklad midnight commanderem (coz je napr muj pripad, jinak data snad ani nekopiruji), tak nejjednodussi reseni je si proste upravit startovaci script mc aby se spoustel s nastavenym limitem...

podobne napr cp, atd...
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
1.5.2009 21:07 tobik | skóre: 13
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?

To je právě kámen úrazu, občas kopíruji pomocí cp, někdy v dolphinovi, někdy v krusaderovi. Jestli na to KDE 4 využívá nějakého démona, tak jedině jemu nastavit správnou skupinu.

Ale nezdá se mi, že by to v linuxu nebylo nijak vyřešené. Vždyť přeci kopírování spousty dat není zas tak neobvyklá záležitost :-)

1.5.2009 14:17 tobik | skóre: 13
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?

Cgroups jsou fajn, ale mají jednu vadu, kvůli které je to celé nepoužitelné.

Pokud vytvořím vlastní skupinu, nastavím omezení na 128M a pak do ní přidám init (pid 1), aby se to aplikovalo na celý systém, tak oněch 128M se nepřidělí pro každý proces zvlášť, jak jsem původně myslel, ale na všechny procesy dohromady. To v praxi způsobilo, že mi KDE startovalo 4x pomaleji a tak tak jsem byl schopný limit zrušit:-) 

Bych potřeboval onen limit nastavit tak, aby platil pro každý proces zvlášť.

2.5.2009 09:24 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jakou máte frekvenci časovače (HZ)? Máte jádro nedobrovolně preemptivní? Ještě lze trochu šoupat v /proc/sys/vm s hodnotama swappiness a dirty_writeback_centisecs.
In Ada the typical infinite loop would normally be terminated by detonation.
2.5.2009 10:34 tobik | skóre: 13
Rozbalit Rozbalit vše Re: Nice pro kopírování dat?

Preemption model mám nastavený na Voluntary Kernel Preemption,  Timer frequency mám 1000HZ.

Popravdě řečeno ale netuším, co tyto volby dělají:-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.