update/bdflush problem

Jan Kasprzak kas na informatics.muni.cz
Neděle Srpen 3 01:53:51 CEST 1997


Alexandr Malusek pise:
: 
: Ono to chvilku trva. Zkusil jsem pres
: dd if=/dev/hda2 of=/dev/null bs=32768
: cist z disku a vypisovalo se mi:
: 
: $ vmstat 5
:  procs                  memory    swap        io    system         cpu
:  r b w  swpd  free  buff cache  si  so   bi   bo   in   cs  us  sy  id
:  2 0 0 11320   252  1516  4612   0   0 3245    0 6592  206  96   4   0
:  2 0 0 11320   252  1548  4580   5   0 2927    0 5963  198  93   7   0
: .. 
:  2 0 0 13744   268  7272  1656   0   3 1881    1 3871  124  73  27   0
:  2 0 0 13744   228  7348  1604   6   2 3159    0 6433  210  98   2   0
:                     ^^^^  ^^^^
: Je videt, ze na zacatku bylo pro diskove buffery vyhrazeno 1516 KB a
: pro swapovatelnou virtualni pamet (cache) 4612 KB, zatimco na konci
: se tento pomer obratil.
: 
: Zaroven jsem si ujasnil, ze Linux nepouziva spravu virtualni pameti
: jakou ma SVR4. SVR4 klasicke diskove buffery neimplementuje, vse resi
: pres virtualni pamet. Linux implementuje klasicke diskove buffery, ale
: jejich mnozstvi se dynamicky meni podle potreby - ubira se ze
: swapovatelne virtualni pameti pro procesy a jejich data. Je to celkem
: zajimave reseni.

	Toto je situace z doby kernelu 1.2. Vas priklad (dd if=/dev/hda2)
byl dost nestastne zvolen. Zkuste si vytvorit velky soubor
(dd if=/dev/zero of=bigfile bs=1024k count=64) a cist pak tento soubor.
Uvidite, ze buffery naopak _klesnou_ (BTW, zkuste misto vmstatu
cat /proc/meminfo, je to rychlejsi a ve 2.1 i citelnejsi).

	Do polozky "buffers" se zapocitavaji veci, ktere nelze dat
do strankove cache -- to jest metadata filesystemu, cteni z primeho
zarizeni a podobne. Cteni ze souboru je obvykle provadeno pres
4kb velke kusy a uklada se rovnou do strankove cache. Strankova cache
je prave od toho, aby se rovnou nacteny kus dat dal vzit a namapovat
na prislusne misto adresoveho prostoru bez kopirovani.

-Yenya

--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz>       http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz   0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\      Czech Linux Homepage:  http://www.fi.muni.cz/~kas/linux/        ///
///  die_if_kernel("Penguin instruction from Penguin mode??!?!", regs);  \\\
//                            -- from linux/arch/sparc64/kernel/traps.c   \\


Další informace o konferenci Linux