Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC
Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

(нормальное поведение) Высокое потребление памяти при обмене с внутренними демонами (баг или фича?)

Добрый день. Прошу вас помочь понять физику процесса. Очень хотел бы использовать роутер в качестве домашнего NAS.

Много лет я не мог этого сделать на разных роутерах, по причине того, что при закачке файлов например через Samba например, загрузка CPU увеличивалась до 100% и скорость обмена не превышала 5мб/сек. В случае с SNR-CPE-ME1, кажется, что процессор не является узким местом. Картина такая:

При чтении большого файла (>10гб) через FTP с USB-HDD подключенного к роутеру, свободная ОЗУ уменьшается с 200 мб до 6 мб. Скорость режется до 7 мб/сек ( тип файловой системы USB-HDD на это не влияет (EXT2 или EXT4 или exFAT)).

Тоже самое при записи через FTP и тоже самое при работе Transmission. Складывается впечатление, что от демона это не зависит, а зависит от интенсивности обмена.

Последнее время я использовал ТV Box на Amlogic прошитый в Openelec. Я понимаю, что не корректно сравнивать данные CPU, объемы ОЗУ сильно разные, но хотелось бы понимать почему узким местом является ОЗУ? Нет ли программной проблемы? Или, может быть, я в принципе не верно всё трактую?

Спасибо.

  1. Узким местом по прежнему будет являться CPU.
  2. То что вы видите это банальное кэширование. Linux выделяет под кэши FS столько памяти сколько свободно (что правильно, ибо какой смысл держать пустуой RAM если можно с пользой её применить). Если вдруг эта память понадобиться кэши будут тут же сброшены на диск, а память выдана тому кто её захотел.Читайте о том как Linux работает с памятью, разбирайтесь.

зависит от интенсивности обмена

Именно так и происходит, пока свободная рама есть то запись на диск будет откладываться до последнего, и скорость будет высокой т.к. не будет затрат на обслуживание USB и иже с ним. Как только выбрали физ память (данные-то продолжают поступать быстрее чем CPU осиливает скидывать на диск через USB данные, а значит сколько не будь рамы кэш всегда бует под завязку) начинается постоянная запись на диск с освобождением кэша, с последующим мгновенным его заполнением новыми данными и т.д. Вот тут уже узкое место будет и рама и CPU одновременно, по вполне понятным причинам. Быстрее CPU и HDD (ну и его интерфейс, например требующий меньше накладных расходов на обслуживание аля SATA вместо USB) - меньше будет использоваться рамы под кэши т.к. кроме всего прочего кэши сбрасываются на винт ещё и по таймауту, а не только по заполнению до упора. Больше рамы (физически) - больше эффект от временной разгрузки cpu за счёт отложенной физ записи на накопитель. У роутеров узко и там и сям, ещё и вместо SATA торчит USB.

Ну и так, на всякий. Под файлопомойку MIPS based CPU применяемые в роутерах подходят крайне плохо ибо нет даже банального FPU. Да и совмещать файлопомойку и роутер на одном устройстве без виртуализации/изоляции чревато и далеко не только утыканием в скудные ресурсы в роутерах.

Более того, я уже это дело пояснял (и по памяти и по производительности) на этом форуме. Пользуйтесь поиском.

P.S. Рекомендую таки рассмотреть для файлопомойки иное какое-нить устройство, и лучше даже не на MIPS/ARM а взять какой-нить безвентиляторный x86. У китайцев полно всяких атомов/целеронов бзвентиляторных нынче, с полноценными сата контроллерами и возможностью использовать дистрибутив общего назначения, или даже специализированные под NAS. Роутер должен оставаться роутером.

Спасибо за подробное разъяснение. Теперь мне все понятно. Меня вполне устраивают железки на amlogic. Скорость обмена в районе 30мб/сек (и возможно больше, если бы не USB2.0).

Теоретический вопрос: Что мешает использовать процессоры amlogic в роутерах (например премиум класса)?

Например то, что придётся скрещивать ужа с ежом, т.е. SOC заточенный под декодирование видео без ускорялок сети, без встроенного радио, ещё и слепливать с радиомодулями других вендоров на изоленту.

Да и уж амлоджик, простите, наелся их ещё с Digma.

Есть специализированные SOC для премиум класса. Причём для каждой задачи свои. В т.ч. для NAS.

В роутерах например нафиг не нужен декодер видео, зато нужен человеческий эзернет со всеми оффлоадами и т.д.

И далеко не всё можно навесить внешними модулями. Да и если обвесить то цена будет как у SOC специализированных под это дело. Эт даже если откинуть просто тысячи человекочасов на бесконечный глюкодром потом с этим ужеежом.

Всему своё место и своя задача.

Хочется общего назначения и всё в одном - I7 в безвентиояторном исполнении 2мя портами + радиокарточка в mpci-e.

В общем это всё уже откровенный оффтоп, бессмысленный и беспощадный...

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: