Пользователи высокоскоростных тарифов интернета часто сталкиваются с аппаратным парадоксом: при загрузке файлов на удаленный сервер по FTP или SFTP клиент FileZilla в ОС Linux выдает не более 8-10 МБ/с, оставляя гигабитный канал пустым. На той же аппаратной базе под управлением Windows скорость достигает физического максимума.
Проблема кроется не в графическом окружении или провайдере, а в механизмах взаимодействия конкретной программы с ядром операционной системы.
Технические причины ограничения скорости в Linux
Архитектура FileZilla устроена так, что программа принудительно запрашивает у операционной системы конкретный размер памяти для сетевых сокетов. По умолчанию буфер отправки ограничен микроскопическим значением в 256 килобайт.
Когда приложение передает ядру Linux прямой запрос на фиксацию размера буфера (через системный вызов setsockopt), ядро немедленно отключает встроенные алгоритмы автоматической настройки сети (TCP autotuning). Система сверяет запрос программы со своими глобальными лимитами безопасности. В большинстве дистрибутивов Linux базовый потолок для отправки (wmem_max) установлен на уровне 200-212 килобайт. Запрос программы беззвучно обрезается до системного минимума. При таком малом окне передачи TCP физически не способен разогнаться на высокоскоростных каналах.
Как с сетью работает Windows
Сетевой стек ОС Windows использует агрессивную технологию динамического масштабирования окна (TCP Window Auto-Tuning). Система часто игнорирует запросы кроссплатформенных приложений на фиксированный размер сокета и берет управление трафиком на себя. Windows самостоятельно расширяет буферы под пропускную способность конкретного гигабитного канала, нивелируя сетевые задержки и обеспечивая максимальную скорость без вмешательства пользователя.
Почему не работают базовые методы решения
На профильных ресурсах часто советуют три способа, которые не помогают в данном сценарии:
-
Увеличение параметров tcp_rmem: Эти лимиты отвечают исключительно за входящий трафик (скачивание файлов). На отдачу они не влияют.
-
Отмена аппаратной разгрузки (TSO/GSO) через ethtool: Решает проблемы драйверов дешевых сетевых карт, но не снимает лимиты на объем оперативной памяти для TCP-окна.
-
Смена сетевых драйверов: Не дает результата, так как физический линк работает исправно, а ограничение накладывается на программном уровне.
Универсальное автоматическое решение
Для снятия искусственных барьеров необходимо уровнять системные лимиты памяти и передать контроль современному алгоритму управления перегрузками BBR (от Google) в связке с планировщиком fq.
Значение 62914560 (около 60 мегабайт) является безопасным глобальным потолком для современных ПК. Ядро выделяет этот объем не постоянно, а масштабирует динамически при необходимости передать огромный массив данных через один поток. Лимит в 16 мегабайт (16777216) для настроек FileZilla гарантирует, что клиент сформирует TCP-окно, способное утилизировать 1 Гбит/с даже при высоком пинге до сервера. Данные значения абсолютно безопасны для любых дистрибутивов Linux.
Команда для автоматической настройки ядра (выполняется в терминале один раз):
echo -e "net.core.rmem_max = 62914560\nnet.core.wmem_max = 62914560\nnet.ipv4.tcp_rmem = 40960 873800 62914560\nnet.ipv4.tcp_wmem = 40960 873800 62914560\nnet.core.default_qdisc = fq\nnet.ipv4.tcp_congestion_control = bbr" | sudo tee /etc/sysctl.d/99-network-tuning.conf && sudo sysctl --system
Команда для автоматической правки конфигурации клиента FileZilla:
sed -i 's/[0-9]*<\/Setting>/ 16777216<\/Setting>/' ~/.config/filezilla/filezilla.xml && sed -i 's/ [0-9]*<\/Setting>/ 62914560<\/Setting>/' ~/.config/filezilla/filezilla.xml
Эта команда автоматически находит в файле настроек FileZilla две строки и заменяет их значения на оптимальные. Сначала утилита sed снимает жесткий лимит на передачу данных, увеличивая размер буфера отправки (Socket send buffer size) до 16777216 байт (16 мегабайт). Затем она расширяет размер буфера приема (Socket recv buffer size) до 62914560 байт (около 60 мегабайт), позволяя программе корректно задействовать оперативную память для утилизации всего гигабитного канала связи.
Если вы используете версию FileZilla из Flatpak, конфигурационный файл находится по другому пути: ~/.var/app/org.filezillaproject.Filezilla/config/filezilla/filezilla.xml. Команда для автоматической настройки в этом случае выглядит так:
sed -i 's/[0-9]*<\/Setting>/ 16777216<\/Setting>/' ~/.var/app/org.filezillaproject.Filezilla/config/filezilla/filezilla.xml && sed -i 's/ [0-9]*<\/Setting>/ 62914560<\/Setting>/' ~/.var/app/org.filezillaproject.Filezilla/config/filezilla/filezilla.xml
Польза для работы торрент-клиентов
Внедрение данных параметров приносит пользу не только при передаче файлов по FTP, но и при круглосуточной работе P2P-сетей (например, в qBittorrent).
Планировщик fq (Fair Queuing) равномерно распределяет трафик между всеми активными программами. Интенсивная раздача торрентов с сотнями пиров больше не сможет спровоцировать эффект переполнения буфера роутера (bufferbloat). Алгоритм BBR постоянно вычисляет реальную емкость канала связи, сохраняя стабильный и низкий пинг. Это обеспечивает комфорт использования системы: серфинг в браузере или просмотр видео будут работать плавно даже при 100-процентной нагрузке на сетевую карту.
Linux: обзоры и обновления
• Решение проблемы низкой скорости отдачи по FTP в FileZilla на ОС Linux
• NVIDIA ищет Linux-разработчиков для работы над производительностью Vulkan и Proton
• Mesa 25.3.6 вышел как финальное обновление серии 25.3
• Замена базовых приложений и обновление OpenJDK в Ubuntu 26.04 LTS
• Разрабатывается независимый веб-браузер Ladybird на базе уникального движка
• Обновления Linux за неделю: 16 – 22 февраля 2026 года



