[sisyphus] subfs, когда вытаскивать , замеры таймингов.
Michael A. Kangin
=?iso-8859-1?q?mak_=CE=C1_rsmu=2Eru?=
Вт Июл 8 18:19:18 MSD 2008
Добрый день.
Вот результаты замера скорости записи на флешку и сброса данных из буфера по
окончании копирования.
Флешка с vfat, система - почти последний сизиф, 2.6.25-std-def.
Самое лучшее, что смог придумать для мониторинга буфера данных, это смотреть в
поле in_flight файла /sys/block/<dev>/stat
(http://www.mjmwired.net/kernel/Documentation/block/stat.txt).
Для чего применялся скрипт такого содержания:
-----------------------------
$ cat bin/sync_detect
#! /bin/bash
while [ "$sched_io" != "0" ]; do
sched_io=`cat /sys/block/sdb/stat | tr -s ' ' | cut -f10 -d ' '`
sleep 0.1
done
----------------------------
который работает до того, как все данные из буфера не сброшены на флешку.
Производилась запись на флешку файла 75 мб (3.5 для -o sync, чтоб не уснуть)
посредством dd, который меряет скорость записи, и учитывалось последующее
время сброса буфера.
Результаты:
1. Монтирование без дополнительных опций:
------------------------
$ dd if=bigfile of=/media/liveFlash/testfile; time sync_detect
146968+1 записей считано
146968+1 записей написано
скопировано 75247743 байта (75 MB), 6,8702 c, 11,0 MB/c
0.20user 0.19system 0:07.51elapsed 5%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+83226minor)pagefaults 0swaps
----------------------
итак, округленно 7 секунд работает dd, и еще почти 8 секунд сбрасываем данные
из буфера. Таким образом, можно считать среднюю скорость записи за 5-5,5
мб/сек.
2. Монтирование с -o sync
-----------------------
$ dd if=smallfile of=/media/liveFlash/testfile; time sync_detect
6806+1 записей считано
6806+1 записей написано
скопировано 3484848 байт (3,5 MB), 80,6949 c, 43,2 kB/c
0.00user 0.01system 0:00.10elapsed 11%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+1579minor)pagefaults 0swaps
------------------------
катастрофическое падение скорости записи, ну и после синкать нечего. Что и
ожидалось.
3. Монтирование с -o flush
--------------------------
$ dd if=bigfile of=/media/liveFlash/testfile; time sync_detect
146968+1 записей считано
146968+1 записей написано
скопировано 75247743 байта (75 MB), 11,7459 c, 6,4 MB/c
0.02user 0.03system 0:00.86elapsed 6%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+9731minor)pagefaults 0swaps
--------------------------
11.7 секунд пишет dd, меньше секунды сброс жалких остатков данных. Получается
даже быстрее первого варианта.
2led: а flush можно прикрутить к -led-tc?
--
wbr, Michael A. Kangin
Подробная информация о списке рассылки Sisyphus