LINUX.ORG.RU
ФорумTalks

[жж][любовь] ФС

 


0

0

И кто до сих пор говорит, что фрагментации на Ъ-фс не существует. Пока не придавал этой теме существенного значения.
Докачал торрент на ~16 гигов роутером, диск 400ГБ на ext3. Оторвал усб-винт от сидирующего роутера, дабы быстрей скопировать на ББ, и увидел скорость около 2 мб/с.
Вопросы:
как это вообще происходит, если торрент-клиент заранее резервирует место на диске под файлы нужного размера?
как этого избежать - поможет ли отключение журнала, другие опции монтирования, другая фс типа рейзер?

★★★★★

Выруби NCQ, как вариант.

А так - ты лось педальный, ибо не сказал ни хрена. Версию качалки, ядра и всего остального в студию!

Gharik
()

>как этого избежать
≈20% места на винте держать свободным + периодическая чистка файлопомоек. Либо забить.
Может, проблема в USB/чем еще? 2 мб/с — медленно даже для сильной фрагментации.

x3al ★★★★★
()
Ответ на: комментарий от Gharik

> А так - ты лось педальный, ибо не сказал ни хрена. Версию качалки, ядра и всего остального в студию!

Гхарек, ты мерзкий как песни Добрынина. Сдохни пожалуйста.

anonymous
()
Ответ на: комментарий от Gharik

>Выруби NCQ, как вариант.

Нету.

>А так - ты лось педальный, ибо не сказал ни хрена. Версию качалки, ядра и всего остального в студию!


Transmission 1.42 (7495) http://www.transmissionbt.com/
Linux madhome 2.4.20 #18 Sun Mar 30 13:13:29 MSD 2008 mips unknown
total used free shared buffers
Mem: 30164 29352 812 0 1044
Swap: 971924 6584 965340
Total: 1002088 35936 966152

madcore ★★★★★
() автор топика
Ответ на: комментарий от x3al

>Может, проблема в USB/чем еще? 2 мб/с — медленно даже для сильной фрагментации.

Другие файлы лились нормальна, перезаливка туда-сюда этого торрента тоже дала положенные 30мб/с

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

> Нету.

Тогда в прошивке винта или ещё чего.

> Mem: 30164 29352 812 0 1044

> Swap: 971924 6584 965340


Проблема именно в этом. Догадаешься, чего не хватает? ;)

Gharik
()
Ответ на: комментарий от madcore

> Другие файлы лились нормальна, перезаливка туда-сюда этого торрента тоже дала положенные 30мб/с

Поставь нормальный rtorrent и не трахай мозга. Он по крайней мере умеет делать extents, отложенную запись и прочие кошерные вещи, притом потребляя на порядок меньше памяти ;)

P.S. система на x86 бездисковой слаке жрала памяти в работе порядка 28-32 метров всего, с 20+ торрентами на раздаче-скачке, лежащими на NFS.

Так то.

Gharik
()
Ответ на: комментарий от Gharik

>> Нету.

>Тогда в прошивке винта или ещё чего.


Завязывай уже с бухлом. Винт тут по усб подрубается.


>Проблема именно в этом. Догадаешься, чего не хватает? ;)


Это не отвечает на вопрос про заранее выделенное пространство на диске.

madcore ★★★★★
() автор топика
Ответ на: комментарий от Gharik

>P.S. система на x86 бездисковой слаке жрала памяти в работе порядка 28-32 метров всего, с 20+ торрентами на раздаче-скачке, лежащими на NFS.

Тут NFS наоборот оно экспортирует, а сосет/раздает с усб-винта. А количество торрентов само по себе роли не играет, вопрос еще в объеме и количестве подключений.

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

> Завязывай уже с бухлом. Винт тут по усб подрубается.

Ну и чо? Хоть по атсралу ;)

> Это не отвечает на вопрос про заранее выделенное пространство на диске.

Отлично отвечает - мало памяти, постоянный сброс данных на диск, затруднённый ввиду наличия свопа на высоколатентном соединении (на забывай, что USB - нихера не кошерное FireWare), плюс пачка прочего стафа, вот тебе и фрагментация.

Ядро линупсовое тоже не дурное, чай не хочет хранить данные в тормозном свопе =)

Gharik
()
Ответ на: комментарий от madcore

> Тут NFS наоборот оно экспортирует, а сосет/раздает с усб-винта. А количество торрентов само по себе роли не играет, вопрос еще в объеме и количестве подключений.

В любом случае, у тебя более тяжёлая ситуация при куда более ограниченных ресурсах ;)

P.S. та бездисковая станция имела гигагерцовый процессор и гиг памяти.

Gharik
()
Ответ на: комментарий от Gharik

>> Это не отвечает на вопрос про заранее выделенное пространство на диске.

>Отлично отвечает - мало памяти, постоянный сброс данных на диск, затруднённый ввиду наличия свопа на высоколатентном соединении


Какого х? Пространство выделено, пиши себе в нужный участок.

>(на забывай, что USB - нихера не кошерное FireWare), плюс пачка прочего стафа, вот тебе и фрагментация.

А усб тут не самое узкое звено, кстати :) Сам этот мипс тормозит.
cat /proc/cpuinfo
system type : Broadcom BCM4704 chip rev 9 pkg 0
processor : 0
cpu model : BCM3302 V0.6
BogoMIPS : 263.78
wait instruction : no
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : no
hardware watchpoint : no
VCED exceptions : not available
VCEI exceptions : not available
unaligned_instructions : 2
dcache hits : 0
dcache misses : 0
icache hits : 0
icache misses : 0
instructions : 0

>Ядро линупсовое тоже не дурное, чай не хочет хранить данные в тормозном свопе =)


2.4
С памятью все нормально, учитывая, что для кэшу хватает больше половины
cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 30887936 30146560 741376 0 1110016 20705280
Swap: 995250176 7127040 988123136
MemTotal: 30164 kB
MemFree: 724 kB
MemShared: 0 kB
Buffers: 1084 kB
Cached: 17752 kB
SwapCached: 2468 kB
Active: 1876 kB
Inactive: 20728 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 30164 kB
LowFree: 724 kB
SwapTotal: 971924 kB
SwapFree: 964964 kB


madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

PID Uid VmSize Stat Command
1 admin 120 S /sbin/init
2 admin SW [keventd]
3 admin RWN [ksoftirqd_CPU0]
4 admin SW [kswapd]
5 admin SW [bdflush]
6 admin SW [kupdated]
7 admin SW [mtdblockd]
59 admin 60 S telnetd
64 admin 208 S httpd vlan1
66 admin 28 S syslogd -m 0 -O /tmp/syslog.log -S -l 7
70 admin 8 S klogd
75 nobody 184 S [dnsmasq]
77 admin SW [khubd]
91 admin SW [usb-storage-0]
92 admin SW [scsi_eh_0]
95 1 32 S [portmap]
98 admin 16 S /usr/sbin/statd
100 admin SW [nfsd]
101 admin SW [lockd]
102 admin SW [rpciod]
104 admin 44 S /usr/sbin/mountd
123 admin 40 S udhcpc -i vlan1 -p /var/run/udhcpc0.pid -s /tmp/udhcpc -b
124 admin 140 S pppd file /tmp/ppp/options.wan0
126 admin 184 S watchdog
131 admin SW ntp
141 admin 76 S dropbear
163 admin SW [kjournald]
175 admin 4204 S /opt/bin/transmission-daemon -g /tmp/harddisk/torrent/.config -a *.*.*.* -w /tmp/ha
176 admin 4204 S /opt/bin/transmission-daemon -g /tmp/harddisk/torrent/.config -a *.*.*.* -w /tmp/ha
177 admin 4204 S /opt/bin/transmission-daemon -g /tmp/harddisk/torrent/.config -a *.*.*.* -w /tmp/ha
411 admin 36 S sh -c /usr/sbin/pptp --idle-wait 0 172.21.0.1 --nolaunchpppd --nobuffer --sync
412 admin 84 S pptp: GRE-to-PPP gateway on /dev/ptmx --nolaunchpppd --nobuffer --sync
416 admin 52 S pptp: call manager for 172.21.0.1 --nolaunchpppd --nobuffer --sync
568 admin 228 S upnp -D -L br0 -W ppp0
580 admin 288 S dropbear
581 admin 372 S -sh
590 admin 396 R ps

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

> Какого х? Пространство выделено, пиши себе в нужный участок.

ext3 вовсе не гарантирует этого, а гамнопетонотрасмишен - тем более ;)

> А усб тут не самое узкое звено, кстати :) Сам этот мипс тормозит.

По сравнению с латентностью усб - любой мипс суть образец быстродействия, сынок ;)

Gharik
()
Ответ на: комментарий от Gharik

>ext3 вовсе не гарантирует этого, а гамнопетонотрасмишен - тем более ;)

Мой изначальный вопрос - как избежать этого.


>По сравнению с латентностью усб - любой мипс суть образец быстродействия, сынок ;)


Сейчас не вспомню, но чтение усба-винта в /dev/null или запесь из /de/random там дает не менее 10МБ/с, нормально в общем-то для 100-мбит в адну харю. Но реально на nfs 3-4 мб/с получается,по smb или ftp не больше ес-но.

madcore ★★★★★
() автор топика

Вынеси свап на быструю флешку, у меня так сделано, торренты на диск по юсб качаются

phasma ★☆
()
Ответ на: комментарий от phasma

> Вынеси свап на быструю флешку, у меня так сделано, торренты на диск по юсб качаются

Это от фрагментации спасает?

madcore ★★★★★
() автор топика

мб у тебя проблемы с поддержкой больших файлов на ББ? какой дистр?

2 мб/с - это слишком круто. даже для сильно зафрагментированной ФС.

generatorglukoff ★★
()

> если торрент-клиент заранее резервирует место на диске под файлы нужного размера?

Не факт, это могут быть sparse-файлы, т.е. физически они занимают 0 байт.

EmStudio
()
Ответ на: комментарий от generatorglukoff

файлов больших нет, 640MB каждая серия
на роутере ведро 2.4
винт 400ГБ
хрустит при этом явно из-зо всех сил
единственное, что могу отменить, inode больше 128 там не смонтировать.

madcore ★★★★★
() автор топика

Доброе утро, господин Рип ван Винкль!

(эта тема, наверное, по паре раз в месяц на ЛОРе поднимается)

>как это вообще происходит, если торрент-клиент заранее резервирует место на диске под файлы нужного размера?

Он резервирует sparced-файл. А пишет потом в несколько потоков. На разделах с p2p закачками уровень фрагментации за 60% бывает. На любой FS.

>другая фс типа рейзер?

Я перевёл закачки на xfs. У неё есть штатный онлайновый дефрагментатор. Не идеал, конечно, например, свободное пространство он не дефрагментирует и плохо работает при нехватке места, но уровень фрагментации позволяет понизить очень сильно. И реально ускоряет работу.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Доброе утро, господин Рип ван Винкль!

Я сперва думал назвать тему "в копилку ...", но решил что давно тут не видел :)

>Он резервирует sparced-файл. А пишет потом в несколько потоков. На разделах с p2p закачками уровень фрагментации за 60% бывает. На любой FS.


Т.е., если у меня есть файл, и я переписываю какие-то его блоки на том же месте - это должно будет фрагментацией на любой фс? не верю.

madcore ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Посмотри на рыжую кривую :) -

А ты у нас известный еретик с крайне хреновой кармой по ФС ;)

P.S. вот я на rtorrent сижу, фрагментация при <5% свободного места не превышает 7-8% к концу 2-го месяца работы - на нулевой системе. А на рабочей после года работы она держится в районе 10% всегда, ЧЯДНТ? :)

Gharik
()
Ответ на: комментарий от madcore

> Т.е., если у меня есть файл, и я переписываю какие-то его блоки на том же месте - это должно будет фрагментацией на любой фс? не верю.

А зря, это ты ещё венды не видел, что она с ФС на многопоточной записи творит ;)

Gharik
()
Ответ на: комментарий от madcore

>Т.е., если у меня есть файл, и я переписываю какие-то его блоки на том же месте - это должно будет фрагментацией на любой фс? не верю.

На JFS, в принципе, может быть перераспределение в таком случае.

Но я не о том. Sparced-файлы, которые обычно создаются p2p-качалками, не резервируют сразу физическое место на диске. И поэтому запись в их середину приводит к записи в какое-то другое место диска.

KRoN73 ★★★★★
()
Ответ на: комментарий от Gharik

>ЧЯДНТ?

Может, качаешь меньше, чем я, может, остатки места свободного
влияют или размеры раздела :)

Ф. система    Тип     Разм  Исп  Дост  Исп% смонтирована на
/dev/mapper/balvg-downloads
               xfs    250G  248G  2,5G 100% /home/balancer/downloads

KRoN73 ★★★★★
()
Ответ на: комментарий от Gharik

>А зря, это ты ещё венды не видел, что она с ФС на многопоточной записи творит ;)

NTFS под ntfs-3g на тестах на многопоточную запись показывает отличные результаты. Только у xfs в среднем лучше :)

- http://balancer.ru/2008/06/12/post-1562431.html
- http://balancer.ru/2008/06/13/post-1562987.html
...

А ещё один тест у себя так и не оформил, а на ЛОРе теперь фиг найдёшь :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Может, качаешь меньше, чем я, может, остатки места свободного
> влияют или размеры раздела :)
> 
> Ф. система    Тип     Разм  Исп  Дост  Исп% смонтирована на
> /dev/mapper/balvg-downloads
>                xfs    250G  248G  2,5G 100% /home/balancer/downloads


-------------------------


Какбэ я делаю так: добиваю скачкой до 100%, потом сливаю непопулярное и удаляю, а раздающееся хорошо - держу постоянно.

/dev/md4: ***** FILE SYSTEM WAS MODIFIED *****

1480 non-contiguous inodes (1.0%)
98575378 blocks used (83%)

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md4             464083936 386901864  53607896  88% /mnt/downloads

Позавчера оттуда слил 30 гигов порева и 20 с копейками HDTV-фильмы, никаких операций по дефрагментации отродясь не делал.

Filesystem created:       Sun Jan 22 19:40:02 2008

Как раз - год исполнился ;)

Gharik
()
Ответ на: комментарий от KRoN73

> NTFS под ntfs-3g на тестах на многопоточную запись показывает отличные результаты. Только у xfs в среднем лучше :)

NTFS нативно, под вендой, на скачке в несколько потоков большого (>4G) файла делает частую гребёнку из блоков, размазанную по всему диску.

И как раз средняя скорость чтения получается около 1-2Мб/с, как у аффтара.

А на портаже рулит рейзер4 с компрессией - всё думаю как /etc туда засунуть и все ".*" из /home/*/ ;)

Gharik
()
Ответ на: комментарий от Gharik

>А на портаже рулит рейзер4 с компрессией - всё думаю как /etc туда засунуть

У меня - только /var/tmp.

Хватило мне ощущений от /usr под reiser4 :) Я писал во что оно через два месяца превратилось. Тормоза просто чудовищные... xfs чуть-чуть помедленнее на /usr тестах, зато после переезда больше двух месяцв прошло - система как новенькая :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> У меня - только /var/tmp.

Я на неё забил.

> Хватило мне ощущений от /usr под reiser4 :) Я писал во что оно через два месяца превратилось. Тормоза просто чудовищные... xfs чуть-чуть помедленнее на /usr тестах, зато после переезда больше двух месяцв прошло - система как новенькая :)

Ну какбэ сжатый портаж легко дефрагментится таром. А потом получается 2-3-кратный прирост скорости при синке :)

Впрочем, ext3 болтается на всех машинах (я ушёл и с XFS, и с JFS к классике), проблем не создавая.

Единственное, это то, что XFS куда кошернее себя чувствует на многошпиндельных рейдах уровня 5+, да и фич у неё поболее куда как.

Если бы не сильно невысокая нагрузка - я бы её там держал.

Gharik
()
Ответ на: комментарий от KRoN73

> Sparced-файлы, которые обычно создаются p2p-качалками, не резервируют сразу физическое место на диске.

Есть такая ФС, которая называется XFS. Там есть возможность зарезервировать непрерывный кусок места. Azureus в девичестве (он сейчас Vuze зовется) умел с помощью xfs_io делать такие непрерывные файлы. По крайней мере, у меня все файлы размером хоть 8Гб состоят из одного непрерывного куска.

Правда так больше seek'ов при записи происходит: пишется не абы куда, а в определенную позицию файла. Я пока не понял, что лучше, но из моего личного опыта на торрентах лучше всего себя ведет как раз xfs. Сильная фрагментация, но не такая чудовищная, как на reiser или ext.

linuxfan
()
Ответ на: комментарий от KRoN73

>Хватило мне ощущений от /usr под reiser4 :) Я писал во что оно через два месяца превратилось.

Я так понимаю, у тябя гента и /usr слишком часто меняется?

ЗЫЖ по теме: кроме как копировать туда-сюда не поможет? Файлы записывать в своем месте никак?

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

> Надо для ведра 2.4, слабый проц, обвязка, с накопителями медленно

jfs

Gharik
()
Ответ на: комментарий от Gharik

>ext3 вовсе не гарантирует этого, а гамнопетонотрасмишен - тем более ;)

Кстати, с чего ты взял, что трансмишен под питоном? Учитывая, что питон туда и не влезет?

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

> Кстати, с чего ты взял, что трансмишен под питоном? Учитывая, что питон туда и не влезет?

Дык оно вроде под петоном было. И в любом случае - тормозило и жрало память. Rtorrent тут решает однозначно.

Gharik
()
Ответ на: комментарий от phasma

>это от лишней нагрузки спасает, от фрагментации у меня XFS

Ты ксати пробовал асус 500гп до 128мб апгрейдить?

madcore ★★★★★
() автор топика
Ответ на: комментарий от madcore

>Я так понимаю, у тябя гента и /usr слишком часто меняется?

В генте /usr обновляется совершенно также, как и в любой другой системе с той же периодичностью обновления :) Сборка и первичная инсталляция идут в /var/tmp/portage. В /usr потом переносится только готовый набор файлов. Также, как в случае распаковки пакета на каком-нибудь deb/rpm-based.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

файл. который он там уже есть. он место занимает. я правлю блок файла 512, размер 1024, сеек я делаю соответсвующий. Дай ссылку, почему ext2/ext3 при этом фрагментируются

madcore ★★★★★
() автор топика

> Это не отвечает на вопрос про заранее выделенное пространство на диске.

если диск забивался чуть менее, чем полностью, отвечает - при этом самом выделении и фрагментируется.

по крайней мере не стоит отключать зарезервированное под рута дисковое пространство в файловой системе, чтобы у фс было пространство для манёвра =)

Adjkru ★★★★★
()

> торрент-клиент заранее резервирует место на диске
> под файлы нужного размера

> 2.4

man fallocate
...
VERSIONS
       fallocate() is available on Linux since kernel 2.6.23.

kmeaw ★★★
()
Ответ на: комментарий от madcore

>файл. который он там уже есть. он место занимает

Пардон, но если русский для тебя неродной, попробуй по-английски написать. Иначе я ничего не понимаю.

KRoN73 ★★★★★
()
Ответ на: комментарий от madcore

> Тем не менее, файлы создаются мгновенно и нужного размера.

Без fallocate() невозможно мгновенное создание файла без "дырок" нужного размера. Либо он с дырками (т.е. нужный размер получен с помощью простого seek), а тогда возможная бешеная фрагментация, либо создаётся всё-таки не мгновенно, а секунд десять.

Adjkru ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.