Нет надобности в перезагрузки
Отсутствие перезагрузки, это то, о чем я говорил в предыдущей главе, когда я объяснял, как устанавливаются программы на Windows. То есть в большинстве программ, после установки требуется перезагрузка для полноценной работы с программой.
Данный неудобный процесс не относится к операционной системе Linux и это я думаю действительно важно для разработчика из-за того, что программисты обычно устанавливают много разных программы во время процесса разработки. Перезагрузка системы сбрасывает оперативную память, поэтому все процессы и программы соответственно закрываются
Думаю это одна из многих причин почему Linux популярен и среди операционных систем используемых на серверах. Linux для серверов построены для стабильной и надежной работы и имеют тенденцию работать годами без сбоев или даже перезагрузок.
Черный экран
Все знакомы с «Синим экраном смерти» в Windows. Он уже настолько всем знаком и про него сложено много шуток и мемов. Но не все знают, что в Linux есть свой «экран смерти» — это черный экран с мигающим курсором. Просто черный экран в левом верхнем углу которого мигает белый курсор.
Черный экран с мигающим курсором
Возникнуть такой черный экран обычно может, если возникает какая-либо проблема при запуске Linux. Но не все так страшно, потому что если синий экран в Windows приводит к полному зависанию работы компьютера, то черный экран в Linux более живучий. В интернете множество тем о том, что делать в случае появления черного экрана, поэтому пугаться не стоит.
Много дистрибутивов
Существует много различных дистрибутивов Linux, которые предназначены для разных целей. Здесь и дистрибутивы для новичков, дистрибутивы предназначенные для слабых компьютеров, специальные (игровые, научные и т.д.), для продвинутых пользователей, встраиваемые и многие другие. Выбор очень большой
Если вы новичок, то вам стоит обратить внимание прежде всего в сторону LinuxMint и Ubuntu. Если у вас старый компьютер и система на нем тормозит, то можно выбрать специальные легковесные дистрибутивы, которые не требовательные к ресурсам
При должном опыте можно создать свой дистрибутив, а если у вас есть много свободного времени и желания, то вы можете собрать свою систему с нуля (см. проект Linux From Scratch).
Долгие запросы
С помощью длительных запросов к веб-серверу или СУБД можно сделать выводы о том, что является узким местом в работе сервиса.
MySQL / MariDB
Для начала, воспользуемся инструкцией, чтобы настроить ведение лога медленных запросов (для MySQL или MariaDB).
После, воспользовавшись статистикой, находим неоптимальные запросы. В одних случаях необходимо будет переписать сам запрос, в других — создать индексы базы данных.
PHP-FPM
Открываем конфигурационный файл:
vi /etc/php-fpm.d/www.conf
Редактируем следующие параметры:
request_slowlog_timeout = 10s
slowlog = /var/log/php-fpm/www-slow.log
* request_slowlog_timeout определяет время, в течение которого должен выполняться запрос, чтобы он считался медленным; slowlog — путь до лога, куда будет сохранена информация о медленных запросах.
Перезапускаем сервис:
systemctl restart php-fpm
Непрерывный просмотр лога можно запустить командой:
tail -f /var/log/php-fpm/www-slow.log
Вредоносное ПО
Под Linux существуют многие разновидности вредоносных программ: вымогатели, криптомайнеры, руткиты, черви, бэкдоры и трояны удалённого доступа (RAT). Преступники успешно используют их для получения финансовой выгоды, шпионажа, саботажа, хактивизма или просто из желания доказать, что системы могут быть скомпрометированы.
Ниже перечислены наиболее распространённые типы вредоносных программ в экосистеме Linux.
Вымогатели
Это, безусловно, самая финансово успешная категория вредоносных программ за последнее время. Учитывая растущую популярность Linux, злоумышленники, управляющие вымогателями, считают эту операционную систему очень перспективной мишенью.
В качестве примера Linux-вымогателей можно привести RansomEXX/Defray7777, относительно недавно портированный под эту операционную систему. Его применяла кибергруппировка Gold Dupont, атакующая организации из сфер здравоохранения и образование и технологические отрасли.
Другой вымогатель — Erebus, впервые замеченный в сентябре 2016 года, — в июне 2017 года Erebus заразил 153 Linux-сервера южнокорейской хостинговой компании NAYANA и вывел из строя 3400 клиентских сайтов.
Криптомайнеры
Относительно новым мотивом для злоумышленников является проникновение и злоупотребление вычислительными ресурсами для добычи криптовалюты.
Многие вредоносные криптомайнеры не просто заражают Linux-системы, но и очищают их от присутствия майнеров-конкурентов, а также стремятся захватить как можно более мощные системы с практически неограниченными вычислительными возможностями, такие как контейнеры Docker или Redis.
Для проникновения в систему майнеры используют распространённые уязвимости. Например, программа coinminer, детектируемая компанией Trend Micro под названием Coinminer.Linux.MALXMR.SMDSL64, использует уязвимости обхода авторизации SaltStack (CVE-2020-11651) и обхода каталога SaltStack (CVE-2020-11652).
Вредоносные скрипты
Командные интерпретаторы присутствуют на всех UNIX-машинах, поэтому злоумышленники активно используют его, тем более что это значительно проще, чем использовать скомпилированные вредоносные программы.
Причин популярности вредоносных скриптов для атак на Linux:
-
они легко загружаются в виде текстовых файлов;
-
они имеют небольшой размер;
-
меньше вероятность того, что они будут легко обнаружены;
-
они могут быть созданы «на лету».
Веб-шеллы и бэкдоры
Веб-шелл — установленный на веб-сервере скрипт, который выполняет команды преступника и обеспечивает ему прямой доступ к взломанной системе. Например, в августе 2020 года мы столкнулись с Ensiko, веб-оболочкой PHP, нацеленной на Linux, Windows, macOS или любую другую платформу, на которой установлен PHP. Помимо удалённого выполнения кода с помощью Ensiko злоумышленники могут выполнять команды оболочки и повреждать веб-сайты.
Руткиты
Руткит — набор вредоносных программ, которые внедряются в Linux-систему, частично или полностью подменяя стандартные системные утилиты, драйверы и библиотеки. Основная цель руткита — скрывать своё присутствие от администраторов и пользователей скомпрометированной системы, обеспечивая злоумышленнику полный или частичный контроль.
В ходе наших исследований мы сталкивались с несколькими семействами руткитов. Чаще всего это были Umbreon, Drovorub или Diamorphine.
Менеджер пакетов
Вторая причина в том, что Linux намного улучшает рабочий процесс для программистов с помощью менеджера пакетов встроенный в почти каждый дистрибутив. Это полезно для программистов с точки зрения эффективность, то есть если вы хотите установить новую программу или обновить уже имеющуюся, просто введите (если у вас например ubuntu или linux mint) и напишите соответствующую команду. И всё это происходит буквально за пару минут.
Например на Windows данный процесс является относительно кропотливым, так-как все это вам нужно будет делать вручную.
Конечно можно будет установить менеджер пакетов chocolatey, однако новичку данный процесс покажется сложным.
С дистрибутивами Linux вы получаете менеджер пакетов прямо из коробки, то есть после установки менеджер пакетов уже установлен и настроен.
Теперь допустим, что ты хотите сделать то же самое, но в Linux. Все, что вам нужно сделать, это открыть окно терминала и ввести и нажать на Enter. И все после ожидания установки вы можете полноценно ей пользоваться. При этом вы уверены что скачали программу из надежного источника.
Данный фактор очень важен для программиста, так-как сегодня разработка лишь одного проекта требует скачивания нескольких программ.
6-е место — openSUSE
Начало дистрибутиву openSUSE положено в 1992 году, когда четыре «любителя Linux» — Роланд Дайрофф, Томас Фер, Хьюберт Мантел и Бурхард Стейнбилд запустили SuSE — свой проект по продаже локализованных наборов Slackware Linux. Начиная с 1996 года, SuSE Linux стала независимым дистрибутивом. В дальнейшем, в состав SuSE Linux добавили менеджер пакетов RPM и представили общественности YaST — графический инструмент управления системой. Частые выходы новых версий дистрибутива, доступность SuSE Linux в магазинах Европы и Америки, наличие полной печатной документации – все это смогло поднять популярность дистрибутива.
Novell Inc приобрела SuSE Linux в конце 2003 года. Вскоре произошел ряд изменений в политике SuSE
Так широкой публике представили YaST, дистрибутив SuSE лицензировали под GPL, образы дистрибутива начали распространять свободно с общедоступных серверов загрузки, и, что наиболее важно, разработка дистрибутива стала открытой для участия общественности. С версии SuSE 10.0, благодаря сообществу openSUSE, дистрибутив начинает распространятся полностью бесплатно, с открытым исходным кодом
На основе кода openSUSE был создан коммерческий продукт, сначала под именем Novell Linux, но позже разделившийся на два и изменивший название на SUSE Linux Enterprise Desktop и, также, SUSE Linux Enterprise Server. Сейчас проект openSUSE финансируется как компанией SUSE, так и рядом других компаний, и энтузиастов.
Сейчас openSUSE доступен в двух основных редакциях — Leap, которая обеспечивает стабильную платформу с многолетней поддержкой и Tumbleweed, который обеспечивает скользящий выпуск обновлений дистрибутива. openSUSE часто хвалят за простоту настройки (через YaST), расширенную поддержку файловой системы Btrfs, а также за автоматические снимки файловой системы и загрузочные среды.
Особенности дистрибутива openSUSE:
- версия ядра Linux – 4.12;
- в качестве графических сред, использует — Cinnamon, Enlightenment, GNOME, IceWM, KDE Plasma, LXDE, LXQt, MATE, Xfce;
- частота обновления версий – 12 месяцев;
- в качестве менеджера пакетов применяется RPM;
- поддерживает x86-64.
Плюсы дистрибутива openSUSE:
- комплексный и интуитивно понятный инструмент настройки;
- большой репозиторий доступных пакетов ПО;
- отличная документация проекта;
- файловая система Btrfs, по умолчанию.
Минусы дистрибутива openSUSE:
ресурсоемкая работа рабочего стола и графики зачастую замедляет работу системы.
Минимальные системные требования openSUSE:
- Pentium 4 1,6 GHz – процессор;
- 1 GB – оперативной памяти;
- 3 GB – свободного места на жестком диске;
- CD-ROM или USB порт.
№ 10: pmap – использование процессами оперативной памяти
Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.
# pmap -d PID
Для того, чтобы получить информацию об использовании памяти процессом с pid # 47394, введите:
# pmap -d 47394
Пример вывода данных:
47394: /usr/bin/php-cgi Address Kbytes Mode Offset Device Mapping 0000000000400000 2584 r-x-- 0000000000000000 008:00002 php-cgi 0000000000886000 140 rw--- 0000000000286000 008:00002 php-cgi 00000000008a9000 52 rw--- 00000000008a9000 000:00000 0000000000aa8000 76 rw--- 00000000002a8000 008:00002 php-cgi 000000000f678000 1980 rw--- 000000000f678000 000:00000 000000314a600000 112 r-x-- 0000000000000000 008:00002 ld-2.5.so 000000314a81b000 4 r---- 000000000001b000 008:00002 ld-2.5.so 000000314a81c000 4 rw--- 000000000001c000 008:00002 ld-2.5.so 000000314aa00000 1328 r-x-- 0000000000000000 008:00002 libc-2.5.so 000000314ab4c000 2048 ----- 000000000014c000 008:00002 libc-2.5.so ..... ...... .. 00002af8d48fd000 4 rw--- 0000000000006000 008:00002 xsl.so 00002af8d490c000 40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so 00002af8d4916000 2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b15000 4 r---- 0000000000009000 008:00002 libnss_files-2.5.so 00002af8d4b16000 4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b17000 768000 rw-s- 0000000000000000 000:00009 zero (deleted) 00007fffc95fe000 84 rw--- 00007ffffffea000 000:00000 ffffffffff600000 8192 ----- 0000000000000000 000:00000 mapped: 933712K writeable/private: 4304K shared: 768000K
Последняя строка очень важна:
- mapped: 933712K общее количество памяти, отведенного под файлы
- writeable/private: 4304K общее количество приватного адресного пространства
- shared: 768000K общее количество адресного пространства, которое данный процесс использует совместно другими процессами.
Ссылки:
NVIDIA — за нежелание сотрудничать с комьюнити
В 2012 году Линус заявил, что NVIDIA — худшая компания из всех, с которыми приходилось иметь дело сообществу Linux. Он раскритиковал NVIDIA прямо во время своего выступления перед студентами финского Университета Аалтo. Причина недовольства — в том, что NVIDIA не хочет сотрудничать с сообществом Open Source и скрывает от Linux-разработчиков код своих графических драйверов.
В конце выступления он нецензурно послал NVIDIA, сопроводив это характерным жестом: «NVIDIA, FUCK YOU!»
NVIDIA не остались в стороне и тут же заявили, что не собираются менять политику в отношении Linux:
«Поддержка Linux важна для NVIDIA, и компания понимает, что есть пользователи, которые очень сильно радеют за Linux как open-source-платформу, так же, как мы желаем предоставить им самые быстрые видеодрайвера.
Недавно был поднят вопрос о том, что NVIDIA не поддерживает для Linux технологию Optimus. Выпустив её, мы обеспечили поддержку только для Windows 7. Тем не менее люди из сообщества Open Source сплотились и самостоятельно создали проект по поддержке Optimus — Bumblebee…
Мы понимаем, что многие предпочли бы, чтобы мы выпустили подробную документацию о внутреннем устройстве наших видеодрайверов или чтобы мы более активно участвовали в обсуждениях, касающихся ядра Linux, но мы решили поддерживать Linux путём задействования максимально возможного количества общего кода с Windows, а не вкладывая ресурсы в разработку отдельного кода под Linux. Такое решение… позволит нам предоставить одинаково высокое качество работы с нашим оборудованием вне зависимости от платформы».
Да уж, эти ребята знают толк в канцелярите — после их письма невольно проникаешься пониманием к выходке эксцентричного финского шведа.
vmstat
Вы можете использовать команду , в основном, для контроля того, что происходит с виртуальной памятью. Для того, чтобы получить наилучшую производительность системы хранения данных, Linux постоянно обращается к виртуальной памяти.
Если ваши приложения занимают слишком много памяти, вы получите чрезмерное значение затрат страниц памяти (page-outs) — программы перемещаются из оперативной памяти в пространство подкачки вашей системы, которое находится на жестком диске. Ваш сервер может оказаться в таком состоянии, когда он тратит больше времени на управление памятью подкачки, а не на работу ваших приложений; это состояние называемое пробуксовкой (thrashing). Когда компьютер находится в состоянии пробуксовки, его производительность падает очень сильно. Команда , которая может отображать либо усредненные данные, либо фактические значения, может помочь вам определить программы, которые занимают много памяти, прежде, чем из-за них ваш процессор перестанет шевелиться.
ZFS — за проблемы с лицензированием
Это свежий участник личного антирейтинга Линуса. Файловую систему ZFS Линус раскритиковал в своей рассылке уже в 2020 году:
«Не используйте ZFS. Это же так просто. Я думаю, что её популярность — лишь дань моде, а не что-то серьёзное. К тому же из-за проблем с лицензированием лично я точно не буду иметь с ней дела».
Некоторые разработчики уже добавили поддержку ZFS в свои дистрибутивы — например, в Ubuntu под эту задачу даже создали отдельный модуль ядра.
Проблема в том, что юристы всё ещё не могут определиться, как классифицировать прослойку совместимости: как часть ядра или как производную от ZFS. Во втором случае использование файловой системы становится незаконным.
К тому же производителю ZFS, одиозной Oracle, Торвальдс не доверяет — и правильно делает. Этот технологический гигант знаменит своими исками к другим компаниям — так, уже 10 лет тянется суд против Google из-за использования Java в экосистеме Android. Поэтому Линус заявил, что не будет чувствовать себя в безопасности, если интегрирует ZFS в ядро Linux с помощью отдельного модуля.
«Меня не интересует прослойка совместимости с ZFS, которая, как некоторые думают, разделяет проекты. Это не даёт нам никаких преимуществ, учитывая историю исков от Oracle. Я не думаю, что такое решение устранит проблемы с лицензированием».
Чтобы включить ZFS в основное ядро, Линус потребовал от Oracle предоставить подписанное письмо о том, что ZFS находится под лицензией GPL. Oracle ожидаемо отмалчивается.
Компьютерная безграмотность
Перечисленные на постерах ПО, как пишет ZDNet, на самом деле несут в себе пользу. Специалист портала Чарли Осборн (Charlie Osborne) отметила, что полицейские ошиблись по всем фронтам, и что хакерские, по их мнению, программы не несут в себе никакой опасности. По ее словам, виртуальные машины позволяют безопасно и без риска для основной ОС и важных файлов в памяти компьютера запускать новые ОС или сомнительные приложения. Кроме того, такой софт дает возможность играть в игры, изначально созданные для Windows, на ПК под управлением macOS или Linux.
Использование виртуальных маших и мессенджеров для геймеров приравняли к киберпреступлению
Осборн добавила, что браузер Tor распространяется с открытым исходным кодом и служит для защиты персональных данных пользователей. К тому же, он позволяет обходить «государственные файерволлы» — посещать сайты, заблокированные в тех или иных странах. Что касается Kali Linux, то данный дистрибутив нередко используют для проведения тестов безопасности, как и программы Metasploit и WiFi Pineapple. Но, если Kali Linux распространяется бесплатно, то Metasploit и WiFi Pineapple окажутся не по карману большинству школьников.
Установка Kali Linux, по мнению полицейских, превращает обычного пользователя в хакера
Чарли Осборн назвала смешным упоминание Discord в списке хакерских программ. Этот мессенджер популярен среди геймеров, и, по ее словам, пользователи сервиса с наибольшей вероятностью будут обмениваться сообщениями, связанными с видеоиграми, а не с хакингом.
5. Netstat – Статистика сети
Netstat – это инструмент командной строки для мониторинга статистики входящих исходящих сетевых пакетов, а также статистики интерфейсов. Это весьма полезный инструмент для каждого системного администратора для контроля производительности сети и решения проблем, связанных с сетью.
netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost.local:privoxy 0.0.0.0:* LISTEN tcp 0 0 localhost.localdom:9475 0.0.0.0:* LISTEN tcp6 0 0 :ssh :* LISTEN tcp6 0 0 :https :* LISTEN tcp6 0 0 :mysql :* LISTEN tcp6 0 0 :www-http :* LISTEN udp 0 0 HackWare:bootpc 0.0.0.0:* raw6 0 0 :ipv6-icmp :* 7 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 STREAM LISTENING 13574 /tmp/.X11-unix/X0 unix 2 STREAM LISTENING 13573 @/tmp/.X11-unix/X0 unix 2 DGRAM 11811 /run/user/120/systemd/notify unix 2 STREAM LISTENING 14509 @/tmp/dbus-l6VTvQ0c unix 2 STREAM LISTENING 11815 /run/user/120/systemd/private unix 2 STREAM LISTENING 11820 /run/user/120/bus unix 2 STREAM LISTENING 11822 /run/user/120/pulse/native
#11. Pandora FMS
Ключевые особенности:
- Pandora FMS расшифровывается как Pandora Flexible Monitoring Solution.
- Pandora FMS – это инструмент мониторинга ИТ-инфраструктуры в единой консоли.
- Элементы Pandora FMS состоят из консоли, базы данных, серверов, агентов.
Используя Pandora FMS, мы можем отслеживать:
- Сеть
- Логи
- Базы данных
- Облака
- Приложения
- Серверы
- IPAM
- SAP
- Интернет вещей
Он может выполнять как удаленный мониторинг, так и мониторинг на основе агентов, установленных на серверах.
Преимущества:
- Pandora FMS имеет версию с открытым исходным кодом.
- У него также есть также версия Enterprise, которая используется многими ИТ-компаниями.
- Версия Pandora FMS с открытым исходным кодом и корпоративная версия регулярно обновляются каждый месяц.
- Имеет прямой доступ с консоли.
Мы рассмотрели инструменты мониторинга с открытым исходным кодом для Linux-Prometheus, Grafana, Elastic search, Nagios Core, Zabbix, Cacti, Icinga, MRTG, Netdata, Sensu, Pandora FMS.
Необходимо сменить язык программирования
Проблему с бесчисленным количеством уязвимостей в Linux Кис Кук частично связывает и с языком программирования С, самым популярным в мире (статистика Tiobe на июль 2021 г.). «Linux, написанный на C, по-прежнему будет иметь длинный хвост проблем», – подчеркнул Кук, добавив, что Linux следовало бы писать на «более безопасных» языках.
«ВТБ Лизинг» внедряет управление данными как ценным бизнес-активом
ИТ в банках
В качестве примера Кук привел язык Rust. Как сообщал CNews, согласно опросу Stack Overflow, большинство программистов называют его своим самым любимым языком. К тому же, он очень нравится и киберпреступникам.
Также Кук считает неправильным нынешний алгоритм поиска уязвимостей в коде ядра. Программисты задействуют базу данных Mitre CVE (Common Vulnerabilities and Exposures), используя ее для оценки опасности существующих уязвимостей. Кук уверен, что она совершенно не годится для решения этой задачи, поскольку, с его слов, «не всем уязвимостям присваиваются CVE-метки, и к тому же они назначаются несвоевременно».
Управление владением файлами
Это происходит в следующем порядке:
- Оболочка проверяет, являетесь ли вы владельцем файла, к которому вы хотите получить доступ. Если вы являетесь этим владельцем, вы получаете разрешения и оболочка прекращает проверку.
- Если вы не являетесь владельцем файла, оболочка проверит, являетесь ли вы участником группы, у которой есть разрешения на этот файл. Если вы являетесь участником этой группы, вы получаете доступ к файлу с разрешениями, которые для группы установлены, и оболочка прекратит проверку.
- Если вы не являетесь ни пользователем, ни владельцем группы, вы получаете права других пользователей (Other).
ls -l
lsfindfind -user
find users
chown
chown -R
chownchgrpchown.
chown
- chown lisa myfile1 устанавливает пользователя lisa владельцем файла myfile1.
- chown lisa.sales myfile устанавливает пользователя lisa владельцем файла myfile, а так же устанавливает группу sales владельцем этого же файла.
- chown lisa:sales myfile то же самое, что и предыдущая команда.
- chown .sales myfile устанавливает группу sales владельцем файла myfile без изменения владельца пользователя.
- chown :sales myfile то же самое, что и предыдущая команда.
chgrpchgrp
chown-Rchgrp
Отображение с помощью параметра -t статистики в виде дерева зависимых процессов
С помощью параметра -t вы можете отобразить результат в виде дерева так, как это показано ниже.
# pidstat -t -C "mysql" Linux 3.0.101-0.7.17-default (thegeekstuff) 07/30/14 _x86_64_ 18:47:54 PID TID %usr %system %guest %CPU CPU Command 18:47:54 1646 - 0.00 0.00 0.00 0.00 0 mysql 18:47:54 - 1646 0.00 0.00 0.00 0.00 0 |__mysql 18:47:54 23132 - 0.00 0.00 0.00 0.00 0 mysqld_safe 18:47:54 - 23132 0.00 0.00 0.00 0.00 0 |__mysqld_safe 18:47:54 23493 - 0.06 0.02 0.00 0.08 0 mysqld 18:47:54 - 23493 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23504 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23509 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23510 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23512 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23515 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23516 0.01 0.00 0.00 0.02 0 |__mysqld 18:47:54 - 23517 0.00 0.00 0.00 0.00 0 |__mysqld 18:47:54 - 23518 0.01 0.01 0.00 0.02 0 |__mysqld 18:47:54 - 23519 0.00 0.00 0.00 0.00 0 |__mysqld ..
№ 9: mpstat – использование мультипроцессора
Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:
# mpstat -P ALL
Пример вывода данных:
Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009 06:48:11 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s 06:48:11 PM all 3.50 0.09 0.34 0.03 0.01 0.17 0.00 95.86 1218.04 06:48:11 PM 0 3.44 0.08 0.31 0.02 0.00 0.12 0.00 96.04 1000.31 06:48:11 PM 1 3.10 0.08 0.32 0.09 0.02 0.11 0.00 96.28 34.93 06:48:11 PM 2 4.16 0.11 0.36 0.02 0.00 0.11 0.00 95.25 0.00 06:48:11 PM 3 3.77 0.11 0.38 0.03 0.01 0.24 0.00 95.46 44.80 06:48:11 PM 4 2.96 0.07 0.29 0.04 0.02 0.10 0.00 96.52 25.91 06:48:11 PM 5 3.26 0.08 0.28 0.03 0.01 0.10 0.00 96.23 14.98 06:48:11 PM 6 4.00 0.10 0.34 0.01 0.00 0.13 0.00 95.42 3.75 06:48:11 PM 7 3.30 0.11 0.39 0.03 0.01 0.46 0.00 95.69 76.89
Ссылки: Получение данных об использовании индивидуально каждого процессора в мультипроцессорной Linux-системе.
Чего не хватает
Несмотря на то, что в линуксе мне нравится очень многое, есть те вещи которых немного не хватает.
Adobe Photoshop
Достойной альтернативы все еще не появилось, хотя многие приводят примеры в виде Gimp или даже Krita. Первый вариант как по мне не годится в замену, второе — это программа для художников, но не для дизайнеров и не для работы с готовой графикой.
Microsoft Office
Я считаю это лучшим набором программ для офисной работы. В последнее время начал использовать облачный Office 365, но нативной версии приложений не хватает. LibreOffice, WPS так же все еще не то…
Наверное игры
В целом в последнее время ситуация с играми просто колоссально шагнула вперед, отчасти благодаря стараниям Valve, во-вторых, благодаря в целом тренду на СПО и Linux, но проблемы со стороны работы видеодрайверов, проблемы с огромной фрагментацией Linux остаются.
Но тем не менее играть уже можно, стоит пробовать. Proton в Steam позволяет запускать «неподдерживаемые» нативно игры, иногда очень даже хорошо все работает. Анонсы именитых тайтлов также иногда случаются. Но, как и говорил ранее, адекватная работа видеокарт не гарантируется в полной мере.
Хоть я далеко и не игрок, но раз в год-два да прохожу какую-то игру на компьютере.
iostat — статистика использования устройств и разделов дисков
Утилита iostat также включена в пакет sysstat. Как можно догадаться из названия программы, она создаёт отчёты по статистике ввода/вывода для устройств и разделов. Её особенностью является то, что она показывает обобщённую статистику для всей системы, а также для отдельных носителей, не разбивая её на процессы. Программа iostat может пригодиться когда необходимо ответить на вопрос: «какой из постоянных носителей подвергается наибольшей нагрузке?».
Запуск программы без опций
iostat
выведет два блока информации:
- отчёт по использованию ЦПУ
- отчёт по использованию устройств
Раздел со статистикой использований устройств содержит следующие разделы:
- Device — имя устройства или раздела, как оно указано в /dev
- tps — указывает количество передач в секунду, отправленных на устройство. Передача — это запрос ввода-вывода к устройству. Несколько логических запросов можно объединить в один запрос ввода-вывода к устройству. Размер перевода является неопределённой величиной
- kB_read/s — указывает объём данных, считанных с устройства, выраженный в количестве блоков (килобайт, мегабайт) в секунду. Блоки эквивалентны секторам и поэтому имеют размер 512 байт
- kB_wrtn/s — указывает объём данных, записываемых на устройство, выраженный в количестве блоков (килобайт, мегабайт) в секунду
- kB_dscd/s — указывает количество данных, отбрасываемых устройством, выраженное в количестве блоков (килобайт, мегабайт) в секунду
- kB_read — общее количество прочитанных блоков (килобайт, мегабайт)
- kB_wrtn — общее количество записанных блоков (килобайт, мегабайт)
- kB_dscd — общее количество отброшенных блоков (килобайт, мегабайт)
Отчёт выводит для всей системы с момента её загрузки.
Поскольку по умолчанию данные выводятся в килобайтах, а современные объёмы информации, записываемой на диск, обычно кратны гигабайтом, что цифры трудны для восприятия. Для вывода чисел в удобных для восприятия единицах используйте опцию -h:
iostat -h
Опция -h является эквивалентом указания сразу двух опций —human и —pretty, поэтому если вы не в полной мере довольны видом выводимого отчёта, то попробуйте использовать эти опции по отдельности.
Для вывода максимальной полной информации, укажите опцию -x:
iostat -x
Если вам нужна информация только об устройствах, то используйте опцию -d:
iostat -d
Вы можете запустить команду указав время интервала (в секундах) и счётчик (количество отчётов) — в этом случае программа будет выводить информацию через заданный интервал:
iostat ИНТЕРВАЛ iostat ИНТЕРВАЛ СЧЁТЧИК
Первый отчёт будет содержать информацию с момента загрузки системы, а последующие отчёты будут содержать информацию за период, прошедший с предыдущего отчёта.
Для поиска проблем, вы можете использовать следующую команду, которая непрерывно будет выводить информацию:
iostat -d 1 iostat -dx 1
С помощью iostat вы можете следить за скоростью чтения и записи на всё устройство, а также выявлять отброшенные блоки.
5-е место — Linux Mint
Linux Mint — основанный на Ubuntu ирландский дистрибутив, впервые выпущенный в 2006 году. Mint доминировал во многих рейтингах с 2011 по 2017 год. Такую популярность он приобрёл за свою стабильность, разнообразие поддерживаемых настольных менеджеров и полноценные мультимедийные возможности.
Изначально планировалось выпускать несколько версий дистрибутива Mint под каждый выпуск версии Ubuntu. Однако, со временем, цикл разработки удлинился, сейчас составляя 2 года. При этом теперь дистрибутив базируется только на LTS-версиях Ubuntu (.
В настоящий момент разрабатывается и управляется сообществом. Разработчики Mint сосредоточены на стабильности, поэтому они предпочитают консервативный цикл выпуска. Вы не будете получать новейшие обновления, но все равно будете в курсе событий разработки. Вас также не привлекут к разработке в качестве непроизвольного бета-тестера.
Особенности дистрибутива Mint:
- основывается на LTS версиях дистрибутива Ubuntu;
- версия ядра линукс – 4.15;
- специально разработанная среда рабочего стола Cinnamon, также доступны MATE, Xfce;
- частота обновления версий – 2 года;
- в качестве системы менеджмента пакетов — применяется dpkg;
- поддерживает x86 архитектуру;
- в сравнении с Ubuntu, базовый дистрибутив включает более расширенный мультимедийный функционал;
- использует тот же программный репозиторий, что и Ubuntu;
- вход под суперпользователем по умолчанию запрещён, как и в Ubuntu;
- своя система как обновления, так и установки приложений.
Плюсы дистрибутива Mint:
- превосходная коллекция мультимедийных инструментов;
- высокая стабильность работы;
- открытое сообщество разработчиков.
Минусы дистрибутива Mint:
- в альтернативные «общественные» релизы редко добавлены последние функции;
- проект не выпускает рекомендации по безопасности.
Минимальные системные требования дистрибутива Linux Mint:
- x86 — процессор;
- 512 MB – доступной оперативной памяти;
- 9 GB — места на жёстком диске;
- CD-привод или USB-порт.
Описание iostat Linux
Синтаксис iostat очень простой. Вам достаточно выполнить:
$ iostat опции устройство интервал
Параметры устройство и интервал необязательные. Первый указывает по какому устройству показывать статистику, а второй, с каким интервалом обновлять данные. Давайте сначала рассмотрим опции программы, которые могут вам пригодится:
- -с — отобразить только информацию об использовании процессора;
- -d — отобразить только информацию об использовании устройств;
- -h — выводить данные в отчёте в удобном для чтения формате;
- -k — выводить статистику в килобайтах;
- -m — выводить статистику в мегабайтах;
- -o JSON — выводить статистику в формате JSON;
- -p — вывести статистику по устройству и всех его разделам;
- -x — вывести расширенную статистику;
- -y — отображать статистику с момента запуска утилиты, а не системы;
- -z — спрятать информацию о дисках, у которых нет активности.
Что означают цифры в top (как понимать вывод top)
Начнём с краткой характеристики стандартного интерфейса top. Как уже было сказано, его можно почти полностью сконфигурировать под свои предпочтения.
Верхняя часть программы показывает краткую обобщённую информацию об использовании процессора и оперативной памяти системы.
В самой верхней строке показано: текущее время в системе, аптайм (время работы после загрузки), общее количество пользователей и средняя нагрузка за последние 1, 5 и 15 минут.
Далее идут строки с информацией о:
- задачах
- процессоре
- оперативной памяти
- разделе подкачки
Далее идёт перечень запущенных процессов. По умолчанию выводиться следующая информация:
PID — уникальный идентификатор процесса
USER — имя пользователя, являющегося владельцем задачи
PR — приоритет задачи в расписании. Если вы в этом поле видите «rt», это означает, что задача запущена в расписании приоритетов в реальном времени (это самый высокий приоритет).
NI — значение nice задачи. Негативное значение означает более высокий приоритет, а положительное значение nice означает более низкий приоритет
VIRT — общее количество используемой задачей виртуальной памяти, включает все коды, данные, совместные библиотеки, плюс страницы, которые были перенесены в раздел подкачки, и страницы, которые были размечены, но не используются
RES — используемая оперативная память, является подмножеством VIRT, представляет физическую память, не помещённую в раздел подкачки, которую в текущий момент использует задача. Также является суммой полей RSan, RSfd и Rssh.
SHR — размер совместной памяти, подмножество используемой памяти RES, которая может использоваться другими процессами
S — статус процесса. Может быть:
- D = бесперебойный сон
- I = простой (не работает)
- R = запущен
- S = спит
- T = остановлен сигналом управления работой
- t = остановлен отладчиком во время трассировки
- Z = зомби
%CPU — использование центрального процессора, доля задачи в потреблённом процессорном времени с момента последнего обновления экрана, выражается в процентах от общего времени CPU
%MEM — доля задачи в использовании памяти (RES)
TIME+ — общее время центрального процессора, которое использовала задача с момента запуска
COMMAND — Имя команды или Строка команды. Показывает строку команды, используемую для запуска задачи или имя ассоциированной программы