Эээ... ну то, что светит - я же, как ты сказал, дорожку протоптал
Да нормально все, у меня несколько дней крутился - ноу проблем, можешь включать
Пы.Сы. Пора мне уже в твою "религию" переходить, может чем помогу. Две руки хорошо, а четыре лучше
Коллеги, хочу вам продемонстрировать работу механизма posix_fallocate в rtorrent. Это, в первую очередь касается тех пользователей, которые используют роутер в качестве файлокачалки.
Тест №1. Без posix_fallocate.
Исходные данные:
- привычный rtorrent 0.8.6. из Optware,
- файловая система ext3,
- контент торрента - 18Мб.
Запускаем торрент, добавляем закачку и смотрим как изменяется размер скачиваемого файла:
Видно, что место под файл на диске выделяется в процессе скачивания. Оценим насколько фрагментированным получился файл:Code:$ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 1.1M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe $ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 4.6M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe $ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 6.8M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe $ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 7.9M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe $ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 18.2M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe
Г-ди долбаный Иисусе! 586 ошмётков по всему диску! Сколько бы не говорили адепты unix про то, что ext3 не нуждается в дефрагментации, я не поверю, что этот файл будет считан быстро из-за метаний головки по всей поверхности диска.Code:$ filefrag /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe: 586 extents found, perfection would be 1 extent
Тест №2. С posix_fallocate.
- rtorrent 0.8.9. из моего репозитория,
- файловая система ext4,
- тот же торрент объёмом 18Мб.
Запускаем rtorrent, добавляем закачку и приглядываемся к размеру контента на диске:
Другими словами, место под файл выделяется целиком и мгновенно. Дефрагментация файла после скачивания...Code:$ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 18.2M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe $ du -h /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe 18.2M /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe
...отстутствует вовсе.Code:$ filefrag /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe /tmp/downloads/torrent/Cave_Story_Plus_v1.0_setup.exe: 1 extent found
Конечно же, не всегда файл можно записать на диске одним куском, но полугигабайтные файлы у меня фрагментируются всего на 3-4 куска. Механизм posix_fallocate будет работать только на файловых системах ext4 или xfs. Как подключить раздел ext4 смотрите в профильной теме.
не-не-не Никто
Last edited by ryzhov_al; 15-12-2011 at 10:27. Reason: Падежи
Эээ... ну то, что светит - я же, как ты сказал, дорожку протоптал
Да нормально все, у меня несколько дней крутился - ноу проблем, можешь включать
Пы.Сы. Пора мне уже в твою "религию" переходить, может чем помогу. Две руки хорошо, а четыре лучше
RT-N16 + Entware repo
Здравствуйте.
Попытался установить на чистый /opt
Скрипт из 1-го поста выдает в самом конце:
Done.
Unpacking opkg...Done.
Configuring opkg...Done.
/opt/bin/opkg: symbol 'stdout': can't handle reloc type 0x7e
что это значит и как побороть?
Если гладко заработало у меня, то это не значит, что будет гладко работать у всех. Срок в неделю назван не с потолка - это необходимое мне время на то, чтобы погонять rtorrent в различных сценариях работы. Например, увидеть на графиках RRD утечку памяти в transmission я смог только на недельном отрезке, максимально отрубив все неиспользуемые сервисы.
Исходники доступны, процесс документирован. Поэтому никакого "согласия" от меня не требуется. Дерзай!
Перейти на прошивку ветки -rtn.
Last edited by ryzhov_al; 16-12-2011 at 05:14.
За полгода многое изменилось, обновляйтесь.
Как скажешь, так и сделаю. Коль скоро ссылка в /etc/ipkg.conf когда-нибудь будет вести в новый репозиторий, можно оставить как есть. С определённого релиза всё будет работать, до - нет.
Кстати, уже "накопились" две причины для пересобрки библиотеки uClibc:
- для включения -Wl,-rpath,/opt/lib.
- для включения UCLIBC_HAS_LOCALE=y, так как без этого все ncurses-based приложения будут показывать крокозябры вместо кириллици - htop, rtorrent, ncurses-mc, screen и прочие.
Оба пункта спорные. Первый, например, позволит "развязать" прошивочные библиотеки с репозиторийными, что уберёт указанный в предыдущем посте косяк с opkg. "Развязка" потенциально обрадует томатовцев, но "отдалит" репозиторий от прошивки. Надо ли?
А с другой стороны, если не выполнить развязку, то придётся обеспечить синхронность релизов прошивки и репозитория, что в свою очередь, не удобно ни мне, ни пользователям. Выходит, что развязка и фиксация версии uClibc в какой-то момент неизбежна.
Чо делать? Куда бечь?
Небольшое уточнение "screen -u" нормально работает с великим-могучим. Как и пропатченный microdc2 (ncurses программа) из под screen.
Для того, чтобы ответить однозначно надо проэкспериментировать с:
- нашей старой rtn прошивкой с uClibc 0.9.30
- TomatoUSB
- родной ASUS с поддержкой Optware
если кто вдруг сможет это сделать, будет замечательно.
Первый пункт сильно зависит от второго и от ответа на предыдущий вопрос.Оба пункта спорные. Первый, например, позволит "развязать" прошивочные библиотеки с репозиторийными, что уберёт указанный в предыдущем посте косяк с opkg. "Развязка" потенциально обрадует томатовцев, но "отдалит" репозиторий от прошивки. Надо ли?
К сожалению, у меня пока нет времени экспериментировать с ncursesw, чтобы с полной уверенностью ответить на п.2 насчёт LOCALE. Ни в коем случае не спорю с Zyxmon, но это основное отличие в конфиге nslu2-linux Optware от нашего.
Может я поспешил с обобщением. К screen'у вопросов нет.
В последнем rtorrent'е исключили опцию encoding_list=utf-8, поэтому как screen не запускай, кириллические имена торрентов и файлов выглядят коряво. Вместо имени торрента
вижуCode:*** Ундервуд (FLAC) ***Напомню, что проблема есть лишь в терминале, с xml-rpc клиентами кириллица отображается нормально.Code:*** Унде?~@в?~Cд (FLAC) *** Cmp Pri Size Filename Peer list \ 2002 ?????? ??????????????, ?????????? \ Scans Info 100 9.2 M | img01.jpg 100 9.7 M | img02.jpg File list 100 5.6 M | img03.jpg 100 5.4 M | img04.jpg Tracker list 100 2.4 M | img05.jpg / Chunks seen 100 165.6 K | folder.jpg 100 1.5 K | ???????????????? - ?????? ??????????????, ????? Transfer list 100 1.5 K | ???????????????? - ?????? ??????????????, ????? 100 284.7 M | ???????????????? - ?????? ??????????????, ????? 100 3.3 K | ???????????????? - ?????? ??????????????, ????? / \ 2003 ?????????????? ???????????? \ Scans 100 7.9 M | img01.jpg 100 6.9 M | img02.jpg done 3730.3 MB Rate: 0.0 / 0.0 KB Uploaded: 1068.8 MB Peers: 0(0) Min/Max: 100/200 Uploads: 8 U/I/C/A: 0/0/0/0 Failed: 0 [ :2997] [Throttle 1500/1500 KB] [Rate 0.7/ 0.4 KB] [Port: 12345] [U 0/310] [D 0/310]
Last edited by ryzhov_al; 17-12-2011 at 07:25.
Имхо, надо. Почему отдалит от прошивки? В optware ведь так и сделано - либы uClibc находятся в /opt/lib. Либы uClibc надо хотя бы пересобрать для того, чтобы безболезненно поместить их в /opt/lib. А прошивочные так пусть и будут на /lib ссылаться. Чем такой вариант плох?
RT-N16 + Entware repo
Сограждане, а можно тут у вас спросить, поскольку тема релевантна моему вопросу.
Не нашёл как устроена в OpenWRT интеграция UCI в софт.
Может у кого есть опыт портирования пакетов под OpenWRT, есть ли природе какие-нибудь инструкции или примеры, как научить софтину читать конфигурацию из /etc/config, а не из традиционных мест?
В контексте данной темы, как врт-шные пакеты будут вести себя на "неродной" платформе? или UCI со своей кухней тоже переедет в /opt?