- Диспетчер задач в Ubuntu
- Диспетчер задач Ubuntu
- Мониторинг
- nvtop
- GSmartControl
- KDiskMark
- Cpupower-gui
- GtkStressTesting
- GreenWithEnvy
- Glances
- Stacer
- Psensor
- Gnome Logs
- Пишем свой системный монитор (Linux)
- Способы запуска Системного монитора в Ubuntu
- Запускаем Системный монитор в Ubuntu
- Способ 1: Терминал
- Способ 2: Комбинация клавиш
Диспетчер задач в Ubuntu
Многих новых пользователей Linux, только-только перешедших с Windows, интересует, где же диспетчер задач в Ubuntu. Да и вообще, что делать, если какая-либо программа не отвечает. Но такая вот штука — нет в Ubuntu диспетчера задач, зато есть системный монитор и пара очень полезных консольных команд.
Да и сама система виснет очень редко, зависнуть может только окружение рабочего стола, да и то, если что-то намудрить с настройками. Подробнее о том, что делать в таких случаях, читайте в статье что делать если зависла Ubuntu, а пока поговорим про диспетчер задач.
Диспетчер задач Ubuntu
Чтобы запустить системный монитор, откройте главное меню системы и наберите в поиске monitor или монитор:
Здесь так же как и диспетчере задач вы можете просмотреть список запущенных процессов, завершать процессы, следить за использованием памяти, центрального процессора и файловых систем. Для этого у программы есть три вкладки:
Чтобы завершить программу кликните, по ней в списке правой кнопкой мыши и выберите:
Если программа после этого не завершилась, можете выбрать в том же меню пункт Убить. Подробнее об этом читайте в статье как убить процесс Linux.
Но если зависло окружение рабочего стола то системный монитор уже не поможет, в этом случае можно воспользоваться всей мощностью терминала Linux. По умолчанию в системе открывается 7 независимых терминалов, в одном из которых запускается окружение рабочего стола. Обычно это седьмой терминал. Переключаться между ними можно с помощью сочетания клавиш Ctrl+ Alt + номер терминала, чтобы открыть первый терминал, нужно нажать Ctrl+Alt+1 и т д:
Здесь нужно авторизоваться, указав сначала логин, затем пароль. После авторизации можно делать всё что угодно, например, перезапустить графическое окружение командой:
sudo systemctl restart display-manager
Если вам нужен аналог диспетчера задач в терминале, можете воспользоваться утилитой htop. Для её установки выполните:
sudo apt install htop
Затем её можно запустить одноимённой командой:
Если вам нужно завершить конкретное приложение, его легче найти командой:
ps aux | grep имя_приложения
Затем завершить его командой:
sudo kill -TERM pid_приложения
Где pid_приложения — уникальный идентификатор приложения в системе, который вы узнали в предыдущей команде, во второй колонке:
На этом всё. Желаю вам, чтобы ваша система никогда не зависала.
Источник
Мониторинг
nvtop
nvtop (NVidia Top) — консольная утилита для мониторинга состояния видео-карт Nvidia. Выводит состояние памяти, температуру, список процессов, график использования и другую информацию.
GSmartControl
GSmartControl — утилита для мониторинга состояния, отображения статуса и настройки параметров жестких дисков и SSD. Является графическим интерфейсом для утилиты smartctl.
KDiskMark
KDiskMark — утилита для тестирования производительности HDD и SSD.
Cpupower-gui
Cpupower-gui — простая утилита для ограничения максимальной и минимальной частоты процессора.
GtkStressTesting
GtkStressTesting — утилита для стресс-тестирования компонентов компьютера.
GreenWithEnvy
GreenWithEnvy (GWE) — утилита для разгона, управления скоростью вращения вентиляторов, получения информации видео-карт от NVIDIA.
Glances
Glances — консольный монитор системных ресурсов, который отображает максимум информации на одном экране.
Top — консольный таск-менеджер для Linux. Позволяет просматривать информацию о процессах и загруженности ресурсов.
Stacer
Stacer — утилита для мониторинга, оптимизации, настройки и очистки системы.
CPU-X — программа для просмотра основной информации о комьютере (процессор, кэш, материнская плата, оперативная память, операционная система, графическая подсистема).
Psensor
Psensor — простая утилита с графическим интерфейсом для мониторинга температуры оборудования компьютера.
Gnome Logs
Gnome Logs (или просто Logs) — простая программа для просмотра системных журналов (systemd).
Источник
Пишем свой системный монитор (Linux)
В этой статье я опишу процесс создания собственного системного монитора. Данный системный монитор показывает:
- Hostname
- Имя пользователя
- Uptime
- Имя модели процессора
- Частоту процессора
- Загрузку процессора
- Количество оперативной памяти
- Количество используемой оперативной памяти без кэшируемых данных
- Запущенные процессы
Если кому-то в предпоследнем пунтке не понятно что значит без кэшируемых данных, то почитайте вот это, там описано что это значит. Также в этом системном мониторе реализована возможность завершения процессов.
В результате у нас должен получится вот такой системный монитор:
Теперь его основные возможности определены, и я могу приступать к описанию кода, предупреждаю сразу что код будет работать только в линуксе, так как почти все его возможности основаны на парсинге папки /proc. Свой системный монитор я разделил на три класса, в первом классе реализуется общая системная информация, во втором классе таблица процессов, ну и третий класс соединят это в одно целое. Вот каркас первого класса, я его назвал Info:
Заголовочные файлы pwd.h и unistd.h используются для получения имени пользователя, а заголовочный файл sys/sysinfo.h для получения аптайма. Теперь опишу реализацию класса Info, она располгается в файле info.cpp. В самом начале файла info.cpp мы должны подключить info.h(каркас класса info). Конструктор класса Info выглядит следующим образом:
в самом начале мы инициализируем все графические элементы. Следующим действием мы раставляем графические элементы в лэйаутах. После мы вызываем слот update для того чтобы все метки и прогрессбары заполнились значениями. Чтобы информация регулярно обновлялась мы создаём объект класса QTimer, и соединяем его сигнал timeout, с уже знакомым нам слотом update.
Думаю логичным будет описать следующим слот update, вот его код:
Сначала мы открываем для чтения(именно поэтому для программы не требуются права суперпользователя) файл /proc/sys/kernel/hostname и получаем имя машины, после чего мы заполняем метку hostname. после чего мы создаём экземпляр структуры passwd и uid_t, с помощью которых получаем имя пользователя для заполнения метки user. Информация о том как узнать имя пользователя была взята из исходников программы whoami. После чего мы создаём и заполняем значениями экземпляр структуры sysinfo, из которой берём информацию об аптайме системе. После чего мы связываем уже созданный поток stream с файлом /proc/cpuinfo, в котором находим информацию об имени модели процессора и его частоте. Загрузка процессора мы получаем при помощи метода getCpuLoad, который я опишу ниже. Теперь мы связываем поток stream с файлом /proc/meminfo из которого мы берём количество оперативной памяти, и приводим его к удобно читаемому виду. Потом из этого же файла мы получем количество свободной операивной памяти, а так же объём кэшированных данных. Для получения количества занятой оперативной памяти мы вычитаем из все оперативной памяти свободную оперативку и объём кэшированных данных, после опять же приводим к удобно читаемому виду. Теперь как я обещал выше описание функции getCpuLoad. Эту функцию я писал не сам(я её взял вот отсюда), поэтому очень подробного её описания я привести не могу, я опишу её в общих чертах. Вот она:
мы два раза получаем три значения с помощью функции readCpuStats(её я тоже опишу ниже), но вызываем мы эту функцию с некоторым промежутком во времени. После загрузка процессора вычисляется исходя из этих значений. А вот теперь описание функции readCpuStats:
Эта функция была взята с того же сайта что и функция getCpuLoad. В этой функции мы считываем значения из файла /proc/stat, и заносим их в вектор, который потом возвращаем оператором return.
Теперь класс Info написан, и можно переходит к написанию класса ProcessTable. Вот каркас этого класса:
Слот update используется для заполнения таблицы, а слот kill для завершения процессов. В файле реализации этого класса вначале мы должны подключить файл с его каркасом. Теперь перехожу к описанию конструктора этого класса, вот код конструктора:
Сначала мы инициализируем графические элементы, и компануем их, а так же соединяем сигнал clicked у кнопки «Завершить» со слотом нашего класса — kill. Так же мы вызываем слот update для заполнения таблицы, и реализуем обновление таблицы при помощи таймера. Теперь описание слота update, вот его код:
Сначала мы устанавливаем количество столбцов и строк с таблице, а так же имена столбцов. После чего мы получаем список директорий в папке /proc. Для заполнения таблицы мы циклом проходим по всему списку, пропуская директории которые не принадлежат процессам. Имя процесса мы получаем из файла /proc/pid/comm. Иконку мы берём из папки /usr/share/icons/hicolor/32×32/apps, а если иконки там не будет то используется вшитая в бинарник картинка binary.png. Вот эта картинка:
Для того чтобы зашить её в исходник я использовал rcc, об использовании rcc можно почитать в книге Макса Шлее — «Qt — профессиональное программирование на C++», или можете погуглить, я думаю что в интернете много манов по использованию rcc.
Теперь переходу к описанию слота kill, вот его код:
Для завершения процесса я использую программу которая есть во всех линуксах(если в вашем линуксе её нету, то я даже не представляю что это за линукс такой), для запуска этой программы я пользуюсь методом execute класса QProcess, второй аргумент этой функции, это список параметров для программы, я передаю только PID процесса который нужно завершить, после вызова этой программы я обновляю таблицу чтобы завершённый процесс исчез из неё. Теперь я перехожу к описанию класса SystemMonitor, в котором я соединяю эти два класса. Каркас данного класса совсем простой:
Ну, метод в этом классе всего один, поэтому я сейчас его опишу. Вот код этого метода-конструктора(добавьте в начало файла реализации подключение файла каркаса):
В конструкторе мы просто создаём виджет вкладок, и добавляем туда наш виджет с информацией, и виджет с таблицей, так как в качестве агрумента метод addTab принимает виджет, то для этого мы и наследовали классы Info и ProcessTable от QWidget. И сейчас последний штришок, создание отправной точки программы, то есть файла main.cpp. Вот его код:
Первые три строки делают так, чтобы русские буквы в программе корректно отображались. Строки 8 и 9 обеспечивают что в любой системе наше приложение будет выглядеть одинаково.
Ну вот и всё, системный монитор готов, Всем пока!
Источник
Способы запуска Системного монитора в Ubuntu
Большинство пользователей знают, что в операционной системе Windows присутствует классическое приложение «Диспетчер задач», позволяющее следить за всеми запущенными процессами и выполнять с ними определенные действия. В дистрибутивах, основанных на ядре Linux, тоже присутствует такой инструмент, но называется он «Системный монитор» (System Monitor). Далее мы поговорим о доступных методах запуска этого приложения на компьютерах под управлением Ubuntu.
Запускаем Системный монитор в Ubuntu
Каждый рассмотренный ниже метод не требует от юзера дополнительных знаний или навыков, поскольку вся процедура производится достаточно просто. Только иногда возникают трудности с настройкой параметров, но это исправляется очень легко, о чем вы тоже узнаете далее. Сначала хотелось бы рассказать о том, что проще всего «Системный монитор» запустить через основное меню. Откройте это окно и отыщите требуемый инструмент. Воспользуйтесь поиском, если иконок слишком много и отыскать нужную становится трудно.
После нажатия на значок откроется диспетчер задач в графической оболочке и вы можете переходить к выполнению других действий.
Кроме этого, следует отметить, что вам доступно добавление «Системного монитора» на панель задач. Найдите в меню приложение, кликните на нем ПКМ и выберите «Добавить в избранное». После этого иконка появится на соответствующей панели.
Теперь давайте перейдем к вариантам открытия, требующим большее количество действий.
Способ 1: Терминал
Каждый пользователь Ubuntu непременно столкнется с работой в «Терминале», поскольку через эту консоль практически всегда происходит установка обновлений, дополнений и различного программного обеспечения. Помимо всего, «Терминал» предназначен для запуска определенных инструментов и управления операционной системой. Запуск «Системного монитора» через консоль выполняется одной командой:
- Откройте меню и откройте приложение «Терминал». Вы можете использовать горячую клавишу Ctl + Alt + T, если графическая оболочка не отвечает.
Запустится системное окно с требованием подтверждения подлинности. Введите в соответствующее поле пароль, а затем щелкните на «Подтвердить».
После установки «Системного монитора» откройте его командой gnome-system-monitor , рут-права для этого не нужны.
Новое окно откроется поверх терминала.
Здесь вы можете нажать ПКМ по любому процессу и выполнить с ним любое действие, например, убить или приостановить работу.
Такой метод не всегда удобен, поскольку требует предварительного запуска консоли и ввода определенной команды. Поэтому если он вас не устраивает, советуем ознакомиться со следующим вариантом.
Способ 2: Комбинация клавиш
По умолчанию горячая клавиша для открытия необходимого нам ПО не настроена, поэтому придется добавить ее самостоятельно. Производится этот процесс через системные настройки.
- Нажмите на кнопку выключения и перейдите в раздел системных настроек, кликнув на значок в виде инструментов.
На панели слева выберите категорию «Устройства».
Переместитесь в меню «Клавиатура».
Опуститесь в самый низ списка комбинаций, где найдите кнопку +.
Добавьте произвольное имя горячей клавиши, а в поле «Команда» введите gnome-system-monitor , после чего нажмите на «Установить комбинацию клавиш».
Зажмите на клавиатуре необходимые клавиши, а затем отпустите их, чтобы операционная система произвела считывание.
Ознакомьтесь с полученным результатом и сохраните его, нажав на «Добавить».
Теперь ваша команда будет отображаться в разделе «Дополнительные комбинации клавиш».
Важно перед добавлением нового параметра убедиться в том, что желаемая комбинация клавиш не используется для запуска других процессов.
Как видите, запуск «Системного монитора» не вызывает никаких трудностей. Мы же можем порекомендовать использовать первый метод в случае зависания графической оболочки, а второй — для быстрого доступа к требуемому меню.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник