Linux кто что качает

Выявляем процессы с дисковой активностью в Linux

TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Это аномально большая цифра, такими темпами гарантийный TBW будет превышен раньше достижения 5-летнего срока гарантии диска. Да и не может мой компьютер писать по 93 гигабайта в сутки! Нужно проверить, сколько данных пишется на диск за 10 минут…

Total:
Writes Queued: 24,712, 2,237MiB
Writes Completed: 25,507, 2,237MiB
Write Merges: 58, 5,472KiB

Определение количества записанных данных на дисковое устройство

Мой SSD хранит количество записанных данных в параметре 241 Total_LBAs_Written, в логических блоках (LBA), а не в байтах. Размер логического блока в моём случае — 512 байт (его можно увидеть в выводе smartctl, в Sector Size). Чтобы получить байты, нужно умножить значение параметра на 512.

Программа skdump на моём SSD пытается интерпретировать значение Total_LBAs_Written как-то по-своему, из-за чего выводит 1296217.695 TB , что, очевидно, некорректно.

Чтобы узнать количество записываемой информации на уровне устройства, воспользуемся программой btrace из состава пакета blktrace . Она показывает как общую статистику за всё время работы программы, так и отдельные процессы и потоки (в т.ч. ядра), которые выполняли запись.

Запустите следующую команду, чтобы собрать информацию за 10 минут, где /dev/sdb — ваш диск:

btrace позволяет наглядно посмотреть реальное количество записанных данных, но понять, какие именно программы совершают запись, из её вывода сложно.

Определение программ, производящих запись на накопитель

Программа iotop покажет процессы, пишущие на диск, и размер записанных данных.
Наиболее удобный вывод обеспечивают следующие параметры:

В глаза бросается Firefox, записавший 283 мегабайта за несколько минут работы iotop.

Определение файлов, в которые производится запись

Информация о процессе, насилующим диск — хорошо, а пути, по которым производится запись — еще лучше.

Воспользуемся программой fatrace , которая отслеживает изменения файловой системы.

Fatrace не умеет показывать количество записанных данных вследствие использования довольно простого отслеживания факта обращения к файлам через inotify.

Читайте также:  Linux остановить жесткий диск

Из вывода видно, как хабр сохраняет мою статью в local storage браузера, пока я её пишу, а также расширение Group Speed Dial, которое, как удалось обнаружить именно с помощью fatrace, читает свои данные каждые 30 секунд. Именно читает, а не записывает: CW перед файлом говорит о том, что файл открывается на чтение и запись, с одновременным созданием файла, если он отсутствует (вызывается openat с флагом O_RDWR|O_CREAT), но не говорит, что в файл действительно писалась какая-либо информация.

На всякий случай, чтобы удостовериться в этом, воспользуемся strace, с фильтром на файловые системные вызовы:

Нет ни одного вызова write() , что говорит об отсутствии записи в файл.

Определение накладных расходов файловой системы

Большая разница в показаниях iotop и btrace натолкнула на мысль протестировать файловую систему путем ручной записи данных в файл и отслеживания показаний btrace.

Если полностью исключить запись на диск, загрузившись в emergency-режим systemd, и записать вручную пару байт данных в существующий файл, btrace на SSD с btrfs сообщает о записи 3 мегабайт реальных данных. Свежесозданная файловая система флешке размером в 8 ГБ записывает минимум 264 КиБ при записи одного байта.
Для сравнения, запись пары байт в файл на ext4 оканчивается записью 24 килобайтов данных на диск.

В 2017 году Jayashree Mohan, Rohan Kadekodi и Vijay Chidambaram провели исследование усиления записи разных файловых систем, их результаты для btrfs и ext4 при записи 4 КБ соотносятся с моими.

Источник

Команда nethogs в Linux

В Linux существует множество инструментов для мониторинга сетевой активности. Но большинство из них позволяют контролировать только сетевой трафик от вашего компьютера или конкретного интерфейса. Бывают случаи когда нужно понять какая программа наиболее активно использует сетевое соединение.

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

Установка NetHogs

Как сказано на man странице утилиты, NetHogs — небольшой сетевой монитор. Программа группирует сетевую активность не по протоколу или сети, а по группам процессов.

Если вдруг что-то начинает активно использовать интернет соединение, можно просто запустить NetHogs и вы сразу увидите PID виновника. Так как работа утилиты основана на подсистеме /proc, на данный момент есть версия только для Linux.

Пользователи Debian подобных систем, в том числе и Ubuntu могут установить утилиту с помощью следующей команды:

sudo apt-get install nethogs

Если вы используете другой дистрибутив, посмотрите детали установки на официальном сайте NetHogs. Для работы утилиты необходимы библиотеки pcap и ncurses, убедитесь что пакеты libncurses5-dev и libpcap0.8-dev установлены.

Как пользоваться NetHogs

1. Просмотр информации

Утилиту NetHogs очень просто использовать. Просто выполните команду nethogs в терминале без каких либо параметров и утилита отобразит сетевую активность для каждого процесса.

Как вы видите программа показывает такие детали как PID, пользователя, сетевой интерфейс, количество данных и скорость передачи или приема.

2. Обновление данных

По умолчанию NetHogs обновляет информацию каждую секунду, но вы можете использовать опцию -d для указания интервала обновления. Например, для обновления каждые три секунды наберите:

Читайте также:  Автозагрузка мобильный хот спот windows 10

sudo nethogs -d 3

3. Выбор сетевого интерфейса

Вы можете указать NetHogs с каким сетевым интерфейсом работать, просто набрав имя интерфейса в командной строке. Например для мониторинга трафика на устройстве tun0 используйте:

sudo nethogs tun0

Можно использовать опцию -p для перехвата трафика в неразборчивом режиме (так называемый monitor mode), но это не рекомендуется.

4. Горячие клавиши

В утилите предусмотрены горячие клавиши с помощью которых можно контролировать способ представления. Например нажмите M во время выполнения программы чтобы поменять формат представления приема или передачи данных. Возможны варианты в kb/s, kb, b mb. Например, отображение в мегабайтах, полученных или переданных:

Также вы можете нажать R или S для сортировки по количеству принятых или переданных данных. И как всегда Q для выхода из программы.

Выводы

NetHogs идеально подходит для случаев, когда вы хотите, поймать и уничтожить процесс, который съедает много интернет трафика. Плюс — это утилита с открытым исходным кодом, что означает что вы можете попытаться понять как она работает или даже переписать ее под себя. Вы использовали раньше NetHogs или другой подобный инструмент? Поделитесь своими мыслями в комментариях!

Источник

Лучшие менеджеры закачек в Linux

Если вам нужно выбрать лучший менеджер загрузок в Linux, то вам понравится эта статья. На самом деле для Linux есть большое количество менеджеров загрузок, открытых, свободных и легких в использовании. Возможно, сейчас для многих эта тема уже не актуальна, появился очень быстрый интернет и все можно скачать браузером за несколько секунд, то не у всех такой хороший интернет. За времена медленных и нестабильных соединений было создано достаточно программ для загрузки файлов.

В этой статье мы рассмотрим четыре лучшие свободные менеджеры закачек Linux. Только четыре, для того чтобы вы не запутались в этом многообразии и выбрали именно то, что нужно вам в зависимости от ваших потребностей. Перейдем к списку.

Лучшие менеджеры закачек в Linux

1. Xtreme Download Manager (XDM)

Те, кто недавно перешел с Windows на Linux, скорее всего, выберут XDM, потому что по интерфейсу он похож на IDM (Internet Download Manager). XDM очень прост в установке и использовании, а также поддерживает огромное количество функций. Последняя версия XDM выпущена в прошлом году. Этот менеджер закачек для линукс имеет такие особенности:

  • Поддержка докачки — XDM позволяет восстановить прерванную загрузку, если срок действия URL истек, то вы можете обновить URL.
  • Принудительная сборка — Это одна из полезных возможностей XDM. Мы часто встречаемся с ошибкой: невозможно собрать файл. С помощью этой функции вы можете принудительно собрать все загруженные части файла в одно. Для видео, принудительная сборка работает превосходно.
  • Загрузка видео с Youtube — Вам не нужно устанавливать дополнительное программное обеспечение, чтобы скачать видео с Youtube. Просто скопируйте URL, выберите качество и нажмите загрузить.
  • Интеграция с браузером — XDM может быть интегрирован с большинством популярных браузеров, таких как Mozilla Firefox и Chromium.

Чтобы установить XDM из Noobslab PPA выполните такие команды:

sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install xdman

2. Persepolis

Программа Persepolis бесплатна и распространяется с открытым исходным кодом. Она представляет из себя удобный графический интерфейс для утилиты aria2 и доступна для Linux, Windows и MacOS. Особенности программы:

  • Сегментная загрузка;
  • Планирование скачиваний;
  • Очередь загрузки;
  • Поиск и загрузка видео с Youtube, Vimeo, DailyMotion и других подобных сайтов;
  • Имеет расширение для большинства популярных браузеров.
Читайте также:  Windows 10 graphic card drivers

Для установки программы выполните:

sudo add-apt-repository ppa:persepolis/ppa
sudo apt update
sudo apt install persepolis

3. uGet

uGet — это еще один кроссплатформенный, свободный менеджер загрузок в Linux с открытым исходным кодом. Это отличный менеджер загрузок с большим количеством функций. Вот его основные особенности:

  • Возможность докачки — uGet позволяет догружать прерванные загрузки и ставить их на паузу.
  • Создание очереди — Если вы хотите чтобы загрузки запускались автоматически, можно просто создать очередь, uGet скачает все файлы по одному.
  • Мониторинг буфера обмена — Менеджер закачек ubuntu uGet следит за буфером обмена и выбирает все скопированные url адреса. Вы можете скопировать несколько адресов и инициировать загрузку одним кликом.
  • Планировщик — Планировщик позволяет запланировать старт загрузки в любое время.

Вы можете легко установить последнюю версию uGet из официального PPA или из центра приложений, но в PPA вы получите последнюю стабильную версию.

sudo add-apt-repository ppa:plushuang-tw/uget-stable
sudo apt-get update
sudo apt-get install uget

4. MultiGet

И последний на сегодня свободный, многофункциональный менеджер закачек для линукс с открытым исходным кодом это MultiGet. Это тоже неплохой менеджер загрузок для Linux, включающий все необходимые функции. Вот некоторые из них:

  • Возобновление докачки — MultiGet имеет функцию возобновления загрузки любого файла.
  • Поддержка HTTP и FTP протоколов
  • Мониторинг буфера обмена — MultiGet контролирует буфер обмена, а это значит, что как только вы скопируете URL, MultiGet предложит скачать файл по скопированной ссылке.
  • Поддержка нескольких загрузок и многопоточности.
  • Поддержка прокси — SOCKS 4, 4a, 5, HTTP, FTP.

MultiGet поддерживает и другие функции, но ему не хватает стабильности. Этот менеджер закачек доступен в официальных репозиториях, поэтому вы можете его установить выполнив:

sudo apt install multiget

5. DownThemAll

Пятой в нашем списке будет программа DownThemAll, точнее, это не программа, а плагин Firefox. Так что этот пункт только для пользователей Firefox, но его главное преимущество в том, что вы можете использовать его на любой платформе: Linux, Windows, MacOS.

В DownThemAll можно выделить следующие особенности:

  • Поддержка докачки — Так же как и предыдущий менеджер загрузок DownThemAll поддерживает докачку.
  • Несколько загрузок сразу — DownThemAll может скачивать несколько загрузок одновременно и вы можете установить скорость для каждого из файлов.
  • Автораспознавание — Плагин может автоматически распознавать ссылки для загрузки. Также вы можете выбрать пункт в меню скачать с помощью DownThemAll.
  • Большое количество настроек.

Вы можете настроить плагин по своему вкусу, открыв Меню -> Плагины -> Расширения -> DownThemAll -> Настройки

Поскольку это плагин Firefox, вам не придется ничего менять в системе и он может быть установлен на любой платформе. Откройте addons.mozilla.org и наберите в поиске DownloadThemAll:

Дальше остается только нажать установить, и все, плагин готов к использованию.

Выводы

Все эти менеджеры закачек Linux очень похожи между собой и мало чем отличаются. Посмотрите их особенности и устанавливайте то что вам больше всего подходит. Есть и другие хорошие менеджеры загрузок, например, FareGet. Напишите в комментариях свой любимый менеджер загрузок.

Источник

Оцените статью