Když vypíšu velkou databázi MySQL (její výpis váží kolem 10 GB)
– zobrazí se na disku téměř okamžitě, ale později, když se jádro
rozhodne ji vyprázdnit na disk, server téměř zastavení a další požadavky IO
trvá mnohem déle, i když mysqldump běží s ionice -c3,
takže použití ionice nemá žádný skutečný účinek.Artem
Když zapisujete data do mezipaměti stránek, není zde žádné pole pro uložení priority IO. Takže ionice
nebude mít žádný účinek. Mám na to právo?
Moje nejnovější verze jádra je 4.18.16-200.fc28.x86_64
.
Přijatá odpověď:
Ano.
Teoreticky vám ionice umožňuje upřednostnit IO příkazu způsobem, jakým nice(1) teoreticky upřednostňuje využití CPU. To by byl šikovný způsob, jak umožnit, řekněme, velké, ale relativně důležité kompilaci, aby se odlepila na pozadí, aniž by vám překážela v interaktivním používání stroje.
(Proč ano, Firefox překompiluji ze zdroje každou chvíli.)
[…]
Dalším problémem je, že i když běží přímo na disku,
ionice
nedělá nic, co by snížilo prioritu asynchronního zápisu IO. To je, no, většina zápisu IO, kterou většina programů zvládne. Ionice může zpomalit synchronní zápisy (nemám testovací program) a rozhodně to funguje pro čtení, ale to je vše.https://utcc.utoronto.ca/~cks/space/blog/linux/IoniceNotes