Просмотр загрузки процессора ubuntu: Загрузка процессора Linux | Losst
Нагрузка процессора Linux
В Linux потребление ресурсов CPU, с сортировкой по наибольшей загрузке, можно посмотреть при помощи двух команд: ps и top.
Важный нюанс: Значение в столбце «CPU» в обоих командах считается от загрузки одного ядра процессора. Таким образом сумма процентов на многоядерных машинах будет больше 100%. К примеру для четырехядерного процессора суммарный процент потребления всех процессов не может превышать 400%.
Рассмотрим каждую из команд подробней.
Команда ps
Для запуска введите в консоли ОС команду:
ps -aux --sort -pcpu
Пример вывода команды:
$ ps -aux --sort -rss
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user 30799 51.2 8.1 2733764 285136 ? Rl 09:25 5:30 /usr/lib/chromium-browser/chromium-browser --ppapi-flash-path=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so --ppap
user 2800 0.1 6.6 9972812 234184 ? Sl окт31 1:26 /usr/bin/plasmashell --shut-up
user 31308 2.4 5.3 1767496 188672 ? Sl 09:26 0:13 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user 31011 3.9 5.3 1793296 186812 ? Sl 09:25 0:25 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user 31369 5.5 4.8 1378568 171328 ? Sl 09:28 0:23 /usr/lib/libreoffice/program/soffice.bin --writer --splash-pipe=5
user 14442 12.1 4.2 1050808 150148 ? Sl 01:19 60:04 /usr/lib/x86_64-linux-gnu/libexec/kscreenlocker_greet --graceTime 5000 --ksldfd 26
user 31111 0.9 3.8 1708496 134564 ? Sl 09:25 0:06 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user 1225 0.0 3.7 3639148 132092 ? Sl окт31 1:00 /usr/bin/plasmashell --shut-up
user 31078 0.6 3.7 1724480 130724 ? Sl 09:25 0:03 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user 30986 0.7 3.3 1717860 117660 ? Sl 09:25 0:04 /usr/lib/chromium-browser/chromium-browser --type=renderer --enable-pinch --field-trial-handle=7228759356551874141,180166971
user 1216 1.7 3.2 3271220 113736 ? Sl окт31 20:36 kwin_x11
Важными столбцами являются:
- USER Пользователь, от имени которого работает процесс
- PID Идентификатор процесса
- %CPU Процент загрузки ядра
Согласно данному выводу можно понять, что экземпляр программы dd с PID=31712 практически полностью использует одно ядро процессора.
Команда top
Также загрузку процессора можно посмотреть в интерактивном режиме при помощи команды top. Для запуска введите в консоли ОС команду:
top
Пример вывода команды:
top - 15:13:56 up 8 days, 5:18, 4 users, load average: 0,01, 0,04, 0,05
Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0,0 us, 0,0 sy, 0,0 ni, 99,9 id, 0,1 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: 2060916 total, 1714780 used, 346136 free, 184580 buffers
KiB Swap: 901116 total, 0 used, 901116 free, 999472 cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22684 root 20 0 24768 1476 1016 R 0,3 0,1 0:00.01 top
1 root 20 0 15444 756 612 S 0,0 0,0 0:08.79 init
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 1:08.03 ksoftirqd/0
5 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/u:0
6 root rt 0 0 0 0 S 0,0 0,0 0:00.77 migration/0
7 root rt 0 0 0 0 S 0,0 0,0 0:02.81 watchdog/0
8 root rt 0 0 0 0 S 0,0 0,0 0:00.77 migration/1
10 root 20 0 0 0 0 S 0,0 0,0 0:04.40 ksoftirqd/1
12 root rt 0 0 0 0 S 0,0 0,0 0:02.40 watchdog/1
13 root rt 0 0 0 0 S 0,0 0,0 0:01.50 migration/2
15 root 20 0 0 0 0 S 0,0 0,0 0:04.33 ksoftirqd/2
16 root rt 0 0 0 0 S 0,0 0,0 0:02.26 watchdog/2
17 root rt 0 0 0 0 S 0,0 0,0 0:00.49 migration/3
19 root 20 0 0 0 0 S 0,0 0,0 0:03.73 ksoftirqd/3
20 root rt 0 0 0 0 S 0,0 0,0 0:02.21 watchdog/3
21 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 cpuset
22 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 khelper
23 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs
24 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 netns
25 root 20 0 0 0 0 S 0,0 0,0 0:01.84 sync_supers
26 root 20 0 0 0 0 S 0,0 0,0 0:00.05 bdi-default
27 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kintegrityd
28 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kblockd
30 root 20 0 0 0 0 S 0,0 0,0 0:08.20 kworker/2:1
31 root 20 0 0 0 0 S 0,0 0,0 0:01.98 kworker/3:1
32 root 20 0 0 0 0 S 0,0 0,0 0:00.32 khungtaskd
33 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kswapd0
34 root 25 5 0 0 0 S 0,0 0,0 0:00.00 ksmd
35 root 39 19 0 0 0 S 0,0 0,0 0:00.00 khugepaged
36 root 20 0 0 0 0 S 0,0 0,0 0:00.00 fsnotify_mark
37 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 crypto
103 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ata_sff
111 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_0
114 root 20 0 0 0 0 S 0,0 0,0 0:00.01 scsi_eh_1
115 root 20 0 0 0 0 S 0,0 0,0 0:15.02 kworker/u:1
119 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 mpt_poll_0
137 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 mpt/0
165 root 20 0 0 0 0 S 0,0 0,0 0:00.00 scsi_eh_2
169 root 20 0 0 0 0 S 0,0 0,0 0:11.68 kworker/3:2
177 root 20 0 0 0 0 S 0,0 0,0 1:37.28 kworker/1:2
207 root 20 0 0 0 0 S 0,0 0,0 0:07.77 flush-8:0
213 root 20 0 0 0 0 S 0,0 0,0 0:21.32 jbd2/sda1-8
214 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ext4-dio-unwrit
355 root 20 0 24140 1468 816 S 0,0 0,1 0:00.06 udevd
502 root 20 0 24100 1096 468 S 0,0 0,1 0:00.00 udevd
503 root 20 0 24100 1028 408 S 0,0 0,0 0:00.00 udevd
527 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kpsmoused
528 root 20 0 0 0 0 S 0,0 0,0 0:04.36 kworker/2:2
555 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ttm_swap
1842 root 20 0 152m 8928 4548 S 0,0 0,4 8:15.13 vmtoolsd
1885 root 20 0 60288 9396 6444 S 0,0 0,5 0:00.04 VGAuthService
1979 root 20 0 199m 5016 4128 S 0,0 0,2 3:19.79 ManagementAgent
Важными столбцами являются:
- USER Пользователь, от имени которого работает процесс
- PID Идентификатор процесса
- %CPU Процент загрузки ядра
Согласно данному выводу видно, что два процесса браузера Chromium используют по 40% возможностей одного из ядер процессора.
Более чем 80 средств мониторинга системы Linux / Блог компании ua-hosting.company / Хабр
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.
1. первый инструмент — top
Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
2. htop
htop — системный монитор, как альтернатива команде top, показывает динамический список всех (в отличие от top) системных процессов, время непрерывной работы, использование процессоров и памяти.
3. atop
atop — интерактивный монитор, аналогичен top, выводит новые изменения об активных процессах в системе. Хороший инструмент для отслеживания узких мест, контроль загрузки центрального процессорного устройства, RAM, компьютерной сети. Из-за того, что работает непрерывно может грузить сервер. Сочетает в себе возможности top, netstat, iostat, accounting и другие. Сохраняет данные в файл собственного двоичного формата (записывает состояние системы в сжатый файл).
4. apachetop
apachetop — консольная утилита, мониторит трафик в реальном времени, разбивает логи apache и показывает вывод на экран, одним словом показывает подробную картину использования ваших сайтов.
5. ftptop
утилита ftptop дает основную информацию о всех текущих ftp-соединениях с сервером, информацию об общем количестве сеансов, количество загрузок и скачиваний, кто клиент. Позволяет увидеть подключенных к ftp серверу пользователей.
6. mytop
Интересная, удобна и полезная утилита под названием mytop. Подобна утилите top для систем Unix, mytop просматривает все обращения к MySQL серверу в реальном времени.
7. powertop
powertop — утилита, позволяющая обнаружить в системе компоненты, которые потребляют больше энергии чем нужно на вашем ноутбуке, и показывает общее электропотребление (в Вт), информация считывается с различных источников ядра. Это позволит управлять /эксперементировать с настройками по управлению электропитанием, эффективно настроить потребление энергии под вашу машину.
8. iotop
iotop — утилита подобна утилите top, но отображает использование не CPU и памяти, а работу процессов с дисками, написана на Python. Поможет вам определить какой процесс обращается к жесткому диску в Linux. Отображает активные процессы, которые в данный момент выполняют операции I/O с диском, собирает статистику за определенное время.
9. ntopng
ntopng является следующим поколением ntop, инструмент позволяет мониторить сколько, что и какой IP прокачал через интерфейс на шлюзе, показывает распределение IP-трафика, геолокации хостов, анализ сетевого трафика.
10. iftop
iftop — выводит информацию об активных сетевых соединениях, скорость сетевой закачки/отдачи, мониторит трафик онлайн, разделяет трафик по протоколам, интерфейсам и хостам.
iftop аналогичен top по части использования сети.
11. jnettop
jnettop визуализирует сетевой трафик аналогично iftop, мониторит сетевую активность. Утилита для мониторинга трафика в реальном времени.
12. bandwidthd
bandwidthd — утилита для контроля трафика конечных пользователей, строит сводные таблицы (html) и графики по каждому пользователю по IP и по подсети с разбивкой по дням, неделям и месяцам.
13. EtherApe
EtherApe — показывает сетевой трафик в виде графика, показывает не только соединения, но и поток по каждому из них, вид протокола по номеру порта, сетевую активность разных хостов. На графике узлы выведены в виде кольца, а соединения в виде линий, так вот, чем интенсивнее трафик, тем толще соединительные линии, различные типы трафика обозначены различными цветами.
14.ethtool
ethtool — утилита настройки сетевых интерфейсов в Linux. Это означает, что bond0, tun0 и другие устройства, которые не являются физическими, с помощью ethtool ни просматривать, ни редактировать их параметры нельзя.
15. NetHogs
NetHogs — утилита, которая отслеживает любую сетевую активность всех процессов на компьютере, аналогична top только для сети. Утилита есть в стандартных репозиториях и устанавливается всего одной командой:
sudo apt-get install nethogs
Запустить утилиту можно только с правами root-пользователя:
sudo nethogs
16. iptraf
iptraf — утилита наблюдения за сетевыми интерфейсами, мониторит трафик по всем TCP соединениям, приводит статистику по загрузке сетевых интерфейсов, по протоколам, по портам, по размерам пакетов.
17. ngrep
ngrep — тотже grep только на сетевом уровне, служит для выборки и просмотра содержимого пакетов, является pcap-совместимой утилитой, дает возможность использовать шестнадцатиричные строки при определении шаблонов.
18. MRTG
MRTG — утилита мониторит сетевые линки. MRTG на выходе генерирует html страницы с графиками в png.
19. bmon
bmon — утилита для мониторинга сразу нескольких сетевых интерфейсов в режиме реального времени, поддерживает разные методы ввода/вывода и фильтры, показывает загруженность сетевого интерфейса в виде графика, суммарная загрузка сетевого интерфейса выводится в виде таблицы.
20. traceroute
traceroute — утилита с помощью которой можно определить на каком участке IP-сети произошел сбой, «исследовать» IP-сети (маршрутизацию, серверы DNS, магистральный канал передачи данных, он же бэкбон, систему подсетей и т.д.)
21. IPTState
IPTState — выводит статистику открытых портов в виде таблицы с указанием IP адресов. Эффективный инструмент, мониторит IP трафик, выводит как общую статистику для всех сетевых интерфейсов, так и детализированную статистику для отдельного взятого интерфейса.
22. darkstat
darkstat — мониторит сетевой трафик, выводит статистику использования сети, отправляет отчеты по http. Собранная информация о скорости, количестве переданных пакетов, байтах, посещенных хостах и данных о хостах выводится в виде веб странички.
23. vnStat
vnStat — утилита для учета сетевого трафика, сохраняет историю сетевого трафика для выбранных интерфейсов, трафик считается как входящий, так и исходящий для каждого интерфейса. vnStat получает данные из ядра Linux.
24. netstat
netstat — утилита используется для проверки активных TCP соединений, выводит информацию о используемом протоколе, локальном адресе и номере порта, внешнем адресе и номере порта, а также информацию о состоянии соединения.
25. ss
ss — утилита, можно использовать вместо netstat, она способна показывать более детальную информацию и быстрее, если хотите вывести суммарную статистику — эта утилита для вас. ss собирает и выводит информации о всех TCP и UDP портах, открытых ssh / ftp / http / https соединениях и т.д.
26. nmap
nmap — утилита позволяет сканировать сервер, определяет какая ОС установлена, можно узнать, защищен ли компьютер какими-либо пакетными фильтрами или фаерволом и многие другие возможности (утилита с открытым исходным кодом для исследования сети и проверки безопасности).
20 примеров команды nmap
27. MTR
MTR — утилита для диагностики сети, комбинирует в себе возможности программ traceroue и ping, производит исследование соединений между узлом, на котором она запущена и целевым узлом, программа позволяет определить узел, на котором происходят потери пакетов.
28. Tcpdump
Tcpdump — выводит заголовки пакетов проходящих через сетевой интерфейс, которые совпадают с булевым выражением, входит в большинство дистрибутивов Unix и позволяет перехватывать и отображать/сохранять в файл сетевой трафик. С помощью tcpdump можно анализировать трафик на сетевом уровне (ARP, ICMP), на транспортном уровне (TCP, UDP).
29. Justniffer
Justniffer — консольная утилита для анализа трафика, сниффер протокола HTTP, основанный на pcap и заточенный под TCP.
30. nmon
nmon — утилита системного мониторинга, выводит информацию о ЦП, оперативной памяти, сети, дисках, как в виде графиков, так и в числовых данных, файловых системах, NFS, самых нагружающих процессах, ресурсах.
31. conky
conky — многофункциональный полностью настраиваемый системный монитор для Linux и BSD систем, отслеживает многие показатели системы, такие как CPU, память, swap, размеры дисков, температуру, скорость закачки и загрузки, системные сообщения и многое другое.
32. Glances
Glances — утилита для мониторинга системных ресурсов в режиме реального времени, выполняет мониторинг в одном окне, выводит информацию о использование CPU, Load Average, использование RAM и Swap, битрейт интерфейсов, данные сенсоров (только в Linux), битрейт ввода/вывода, использование ФС, информацию о процессах.
33. saidar
saidar — маленький инструмент, который выводит основную информацию о системных ресурсах (показывает загрузку процессора, памяти, процессов и сетевых интерфейсов).
34. RRDtool
RRDtool — утилита для мониторинга сети и аппаратных ресурсов, набор утилит RRDtool предназначен для хранения, обработки и отображения любых данных, изменяющихся во времени, сюда относятся: сетевой трафик, пропускная способность сети, загрузка процессора и ОЗУ, температура.
RRDTool собирает информацию и создает графики, информация хранится в кольцевой БД. Размер БД остается постоянным, потому что ячейки задействованы циклически.
35. monit
monit — утилита выполняет те же функции что и monitord, мониторит состояние сервисов, отправляет уведомления о различных событиях по email, совершает действия по перезапуску служб в зависимости от условий. Есть возможность следить за состоянием системы как из командной строки, так и через собственный веб-сервер monit.
36. Linux process explorer
Linux process explorer — компактное, но мощное C++ / QT графическое приложение для просмотра активных процессов (диспетчер задач) и мониторинга состояния системы (системный монитор) подробно
37. df
df — утилита, выводит данные о размере свободного дискового пространства указанной файловой системы или файловой системы, к которой относится указанный файл, сообщает его размер, точки монтирования. Если не заданы ни файл, ни файловая система, утилита выводит статистику по всем cмонтированным файловым системам. Выводимые значения соответствуют количеству 512-байтных блоков.
38. discus
discus — аналогичен df, отличие графически вывод выглядит приятнее)
39. xosview
xosview — является классическим инструментом для мониторинга системы, он прост, отображает текущее состояние системы в виде набора графических полос, длинна и ширина которых зависит от размера окна.
40.Dstat
Dstat — хорошая утилита, чтобы мониторить состояния системы, анализировать производительно и диагностировать сбои в интерактивном режиме. Можно подключать разнообразные модули для мониторинга различных служб (mysql, nfs, postfix). Универсальная замена для Vmstat, IOSTAT, NetStat и ifstat.
41.Net-SNMP
SNMP — протокол модели OSI, был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов, потом сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера, машины под управлением Windows NT.
Утилиты пакета Net-SNMP — для отслеживания параметров маршрутизатора.
42. incron
incron (INotify CRON) — пакет утилит, можно запускать скрипты по событиям на файловой системе, используя систему уведомлений ядра Linux inotify. Утилита типа как cron, но в качестве рычага для выполнения команды не время, а совпадение заданного события файловой системы применительно к указанному файлу.
43. monitorix
monitorix — простой инструмент для мониторинга системы, можно контролировать загрузку и температуру процессора, оперативной памяти, жестких дисков и прочего оборудования. Изначально был создан для использования в производственных серверов Linux / UNIX, но может быть использован на встроенных устройствах.
44. vmstat
vmstat — статистика виртуальной памяти, небольшой встроенный инструмент, который отслеживает и отображает краткую информацию о состоянии памяти в компьютере.
45. uptime
uptime — утилита, показывает текущее время, время работы после загрузки, количество текущих пользователей в компьютерной системе и нагрузку за последние 1, 5 и 15 минут.
46. mpstat — встроенный инструмент, который отслеживает использование процессоров в системе. Наиболее часто используемая команда mpstat -P ALL — показывает развернутую статистику всех процессов системы.
47. pmap
pmap — выводит данные о распределении памяти между процессами, позволяет найти причину узких мест, связанных с использованием памяти.
48. ps
ps — утилита для мониторинга процессов в режиме реального времени, показывает список всех процессов, которые выполнялись на момент запуска этой программы, работает быстрее чем top, ориентирована на просмотр PID спецефического процесса и всей командной строки каждого процесса.
49. sar
sar — утилита, часть Systat пакета, используется для мониторинга различных подсистем Linux (процессор, память, ввод/вывод) в реальном времени. Мощная утилита, она удобна, когда нужно собрать информацию об активностях за некоторый период для дальнейшего использования.
50. collectl
collectl — утилита для мониторинга загрузки процессора, сети, мониторит производительность и собирает статистику с различного оборудования, различных служб таких как bind, apache, openvpn, mysql и других.
51. iostat
iostat — утилита для выявление узких мест, связанных с диском, выдает информацию о дисковом вводе/выводе и об использовании процессора.
52. free
free — утилита выводит информацию о полном обьеме памяти, свободной и занятой части памяти, включая swap-разделы.
53./Proc file system
/Proc file system — файловая система дает возможность изучить ядро Linux изнутри). Из этих статистических данных вы можете получить подробную информацию о различных аппаратных устройств на вашем компьютере.
54. GKrellM
GKrellM — настраиваемый виджет с различными темами, который отображает на рабочем столе данные об устройстве системы: CPU, температуру, память, сеть и так далее.
55. Gnome system monitor
Gnome system monitor — мониторит работу системы, утилита выводит в виде графиков информацию в реальном времени о ресурсах — использование процессора (CPU), использование оперативной памяти (RAM) и файла подкачки (SWAP), а также использование сети.
Log monitoring tools
56. GoAccess
GoAccess — утилита, с помощью которой можно анализировать логи веб серверов и строить отчеты (анализ логов доступа к вашим сайтам) в режиме реального времени. Кроме того, данные можно выводить в HTML, JSON или CSV. Выводит общую статистику, топ посетителей, 404, геолокации и многое другое.
57. Logwatch
Logwatch — анализирует логи системы по различным критериям с возможность составления отчета и отправки его по почте, построена на модульном принципе, вы можете создать собственные критерии для анализа.
58. Swatch
Swatch — утилита для активного мониторинга журналов регистрации, контролирует практически любые типы лог файлов.
59. MultiTail
MultiTail — консольный инструмент, можно наблюдать за log файлами, а также за выводом других команд (таких как rsstail, wtmptail, negtail), может разбивать терминал на много маленьких окон.
System tools
60. acct or psacct
acct or psacct — утилиты для мониторинга пользователей и приложений, которые работают или работали в системе, работает в режиме background и собирает в логи данные, можно отслеживать количество ресурсов потребляемых тем или иным приложением.
61. whowatch
whowatch — утилита, отслеживает пользователей в вашей системе и позволяет видеть в реальном времени, какие команды и процессы они используют.
62. strace
strace — утилита, которая отслеживает системные вызовы, которые делает указанный процесс, а также какие сигналы он получает.
63. DTrace
DTrace — большой брат strace, утилита для отладки iOS-приложений, она нужна при отладке сложных случаев, когда вам нужно задать правила для фильтрации вызываемых функций, утилита не для слабонервных, нужно изучить «1000 и 1 „книгу для работы с ней.
64. webmin
webmin — веб-инструмент для системного администрирования, избавляет от необходимости вручную редактировать файлы конфигурации Unix, позволяет удаленно управлять системой в случае необходимости, вы можете настраивать аккаунты юзеров, сервер Apache, DNS, файловый сервер и другое.
65. stat
stat — встроенный инструмент, отображает информацию о состоянии файлов и файловых систем, выводит данные о том как, когда файл был изменен, или о его правке.
66. ifconfig
ifconfig — команда позволяет конфигурировать сетевые интерфейсы.
67. ulimit
ulimit — утилита, с ее помощью можно установить ограничения на общесистемные ресурсы, обеспечивает контроль над ресурсами для оболочки и процессов, запущенных под ее управлением, встроена в интерпретатор bash. Значения limit, как правило указывается в 1024-байтных блоках.
68. cpulimit
cpulimit — небольшая утилита, которая поможет ограничить использование процессом CPU.
69. lshw
lshw — небольшая утилита предоставляет детальную информацию о конфигурации оборудования компьютера, выводит данные о памяти, версии микропрограммы, устройстве материнской платы, типе и скорости работы процессора, конфигурации кэша, частотах шин.
70. w
w — встроенная команда, которая отображает информацию о пользователях, которые в настоящее время используют машину, краткий учет о текущей активности в системе.
71. lsof
lsof (List Of Opened Files) — утилита для вывода информации о том, какие файлы используются теми или иными процессами.
Infrastructure monitoring tools
72. Server Density
Server Density — инструмент мониторинга Linux, позволяет настраивать оповещения и просматривать графики для системной и сетевой метрики.
73. OpenNMS
OpenNMS — мониторит различные сервисы и внутренние системы сетевого и серверного оборудования.
74. SysUsage
SysUsage — утилита, работает на всех unix-платформах и отображает подробную информацию о процессорах, памяти, устройствах ввода/вывода, сетевых устройствах, файлах, процессах и датчиках температуры. Диаграммы создаются при помощи rrdtool.
75. brainypdm
brainypdm — веб-инструмент управления данными и мониторингом, который собирает данные о производительности с помощью nagios.
76. PCP
PCP — дает возможность собирать метрики с нескольких хостов, можете получить доступ к данным графика через веб-интерфейс или GUI. Хорошо подходит для мониторинга больших систем.
77. KDE system guard
KDE system guard — менеджер задач, графический монитор, выдающий сведения о системе в режиме реального времени, приложение для KDE, позволяет осуществлять мониторинг локальных и удаленных хостов.
78. Munin
Munin — OpenSource проект, который написан на Perl и использующем RRDtool, инструмент мониторинга ресурсов, собирает данные с нескольких серверов одновременно и выводит все в графиках (все прошедшие события сервера, нагрузку).
79. Nagios
Nagios — приложения для полного мониторинга системы и сетей.
80. Zenoss
Zenoss — системы мониторинга, которая наблюдает за состоянием устройств в сети, что может помочь предупредить проблемы еще до их появления, функция автообнаружения позволяет быстро собрать информацию обо все активных системах в сети, ядро Zenoss анализирует среду, что дает возможность быстро разобраться с большим количеством специфических устройств.
81. Cacti
Cacti — с помощью протокола SNMP снимает статистику с устройств, через RRD-tool делает наглядные графики, будь то использование дискового пространства на файл-сервере, или загрузка интерфейсов комутатора.
82. Zabbix
Zabbix — система мониторинга, которая состоит из нескольких подсистем, причем все они могут размещаться на разных машинах, используется для мониторинга серверов (в основном).
Бонус
83. collectd
collectd — собирает статистку об использовании ресурсов, легконастраиваемый инструмент.
84. Observium
Observium — система мониторинга и наблюдения за сетевыми устройствами и серверами.
85. Nload
Nload — инструмент командной строки, контролирует пропускную способность сети, если возникает потребность получить визуальное представление о загруженности сетевых интерфейсов системы, увидеть общую статистику по сетевому трафику.
Вы можете установить его с помощью:
1 yum install nload
или:
1 sudo apt-get install nload
84. SmokePing
SmokePing — утилита для накопления информации о задержках в передаче и потере пакетов, отображает все состояния в виде графиков, можно контролировать скорость реакции сервисов на запросы.
85. MobaXterm
MobaXterm приходит на помощь и позволяет использовать многие из терминальных команд, которые обычно встречаются в Linux, если вы работаете в среде Windows.
86.Shinken monitoring
Shinken monitoring — система мониторинга, гибкая в настройке, много совместимого софта, с собственным WebUI, с широким спектром поддерживаемого сетевого и серверного оборудования.
источник
🐧 Как найти процессы с наиболее высокой загрузкой на процессор в Linux — Information Security Squad
Иногда возникают ситуации, в которых должны определить список процессов, которые потребляют больше ресурсов ЦП в системе.
Я считаю, что есть только два способа проверить это.
Это можно сделать с помощью команды top и команды ps.
Я хотел бы рекомендовал использовать скорее top, нежели ps.
Но оба метода будут давать одинаковые результаты, поэтому вы можете выбрать тот, который вам нравится больше.
Обе эти опции широко используются администраторами Linux.
1) Как найти процесс с высокой загрузкой на процессор в Linux с помощью команды top
Команда top в Linux — это лучшая и наиболее известная команда, которую все используют для мониторинга производительности системы Linux.
Команда top обеспечивает динамическое представление в реальном времени запущенных процессов в системе Linux.
Она отображает сводную информацию о системе, список процессов, в настоящее время управляемых ядром Linux.
Она отображает различную системную информацию, такую как использование процессора, использование памяти, память подкачки, количество запущенных процессов, время работы системы, загрузка системы, размер буфера, размер кэша, PID процесса и т. д.
По умолчанию она сортирует верхние выходные данные с использованием ЦП и обновляет данные каждые 5 секунд.
Если вы хотите получить четкое представление о выводе команды top для дальнейшего анализа, это лучший способ запустить команду top в пакетном режиме.
Кроме того, вы должны понимать вывод команды top, чтобы исправить проблему производительности в системе.
# top -c -b | head -50 top - 12:12:52 up 57 days, 21:58, 3 users, load average: 1.50, 1.76, 1.86 Tasks: 306 total, 1 running, 216 sleeping, 0 stopped, 0 zombie %Cpu(s): 12.7 us, 4.2 sy, 0.0 ni, 81.7 id, 0.0 wa, 0.0 hi, 1.4 si, 0.0 st KiB Mem : 16400812 total, 262904 free, 3166168 used, 12971740 buff/cache KiB Swap: 0 total, 0 free, 0 used. 13559292 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28494 root 20 0 1515256 1.3g 52140 S 43.8 8.1 7618:26 kube-apiserver --advertise-address=10.2.67.201 --allow-privileged=true --anonymous-aut+ 13148 root 20 0 162192 4520 3848 R 12.5 0.0 0:00.03 top -c -b 17334 root 20 0 1544992 132556 58240 S 6.2 0.8 4272:14 /usr/local/bin/kubelet --logtostderr=true --v=2 --node-ip=10.2.67.201 --hostname-overr+ 28432 root 20 0 10.2g 162668 84168 S 6.2 1.0 2099:34 /usr/local/bin/etcd 1 root 20 0 129568 9180 5252 S 0.0 0.1 152:29.90 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 2 root 20 0 0 0 0 S 0.0 0.0 0:01.77 [kthreadd] 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp] 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp] 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/0:0H-kb] 8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [mm_percpu_wq] 9 root 20 0 0 0 0 S 0.0 0.0 6:30.07 [ksoftirqd/0] 10 root 20 0 0 0 0 I 0.0 0.0 131:34.14 [rcu_sched] 11 root rt 0 0 0 0 S 0.0 0.0 0:37.83 [migration/0] 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/0] 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/1] 15 root rt 0 0 0 0 S 0.0 0.0 0:36.70 [migration/1] 16 root 20 0 0 0 0 S 0.0 0.0 4:50.86 [ksoftirqd/1] 18 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/1:0H-kb] 19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/2] 20 root rt 0 0 0 0 S 0.0 0.0 0:36.68 [migration/2] 21 root 20 0 0 0 0 S 0.0 0.0 5:33.95 [ksoftirqd/2] 23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/2:0H-kb] 24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/3] 25 root rt 0 0 0 0 S 0.0 0.0 0:35.79 [migration/3] 26 root 20 0 0 0 0 S 0.0 0.0 6:43.56 [ksoftirqd/3] 28 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/3:0H-kb] 29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs] 30 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [netns] 31 root 20 0 0 0 0 S 0.0 0.0 0:13.96 [kauditd] 32 root 20 0 0 0 0 S 0.0 0.0 0:12.74 [khungtaskd] 33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [oom_reaper] 34 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [writeback] 35 root 20 0 0 0 0 S 0.0 0.0 0:00.47 [kcompactd0] 36 root 25 5 0 0 0 S 0.0 0.0 0:00.00 [ksmd] 37 root 39 19 0 0 0 S 0.0 0.0 0:20.81 [khugepaged] 130 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kintegrityd] 131 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kblockd] 132 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [blkcg_punt_bio] 133 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [tpm_dev_wq] 134 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [md] 135 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [edac-poller] 136 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [devfreq_wq] 137 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [watchdogd]
Детали вышеупомянутой команды:
- top : это команда
- -b : Пакетный режим.
- head -50: Показать первые 50 строк в выходных данных.
- PID : Уникальный идентификатор процесса.
- USER : Владелец процесса.
- PR : приоритет процесса.
- NI : NICE значение процесса.
- VIRT :Сколько виртуальной памяти используется процессом.
- RES :Сколько физической памяти используется процессом.
- SHR : сколько общей памяти используется процессом.
- S : Указывает на состояние процесса: S = сон R = работает Z = зомби.
- %CPU : Процент процессора, используемого процессом.
- %MEM : Процент оперативной памяти, используемой процессом.
- TIME+ : Как долго работает процесс.
- COMMAND : Наименование процесса.
Если вы хотите увидеть полный путь к команде вместо ее имени, запустите следующий формат команды top:
# top -b | head -50 top - 12:16:41 up 57 days, 22:02, 3 users, load average: 1.98, 1.77, 1.83 Tasks: 309 total, 1 running, 216 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.0 us, 4.5 sy, 0.0 ni, 92.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 16400812 total, 257304 free, 3169012 used, 12974496 buff/cache KiB Swap: 0 total, 0 free, 0 used. 13556452 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 18002 root 20 0 0 0 0 I 6.2 0.0 0:00.03 kworker/2:3-mm_ 18955 root 20 0 162180 4496 3820 R 6.2 0.0 0:00.01 top 26826 root 20 0 639508 524456 57648 S 6.2 3.2 1346:12 kube-controller 28494 root 20 0 1515256 1.3g 52140 S 6.2 8.1 7619:00 kube-apiserver 1 root 20 0 129568 9180 5252 S 0.0 0.1 152:30.38 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:01.77 kthreadd 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kb 8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq 9 root 20 0 0 0 0 S 0.0 0.0 6:30.09 ksoftirqd/0 10 root 20 0 0 0 0 I 0.0 0.0 131:34.56 rcu_sched 11 root rt 0 0 0 0 S 0.0 0.0 0:37.83 migration/0 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1 15 root rt 0 0 0 0 S 0.0 0.0 0:36.70 migration/1 16 root 20 0 0 0 0 S 0.0 0.0 4:50.88 ksoftirqd/1 18 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-kb 19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/2 20 root rt 0 0 0 0 S 0.0 0.0 0:36.68 migration/2 21 root 20 0 0 0 0 S 0.0 0.0 5:33.97 ksoftirqd/2 23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/2:0H-kb 24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/3 25 root rt 0 0 0 0 S 0.0 0.0 0:35.79 migration/3 26 root 20 0 0 0 0 S 0.0 0.0 6:43.59 ksoftirqd/3 28 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/3:0H-kb 29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs 30 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns 31 root 20 0 0 0 0 S 0.0 0.0 0:13.96 kauditd 32 root 20 0 0 0 0 S 0.0 0.0 0:12.74 khungtaskd 33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper 34 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback 35 root 20 0 0 0 0 S 0.0 0.0 0:00.47 kcompactd0 36 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd 37 root 39 19 0 0 0 S 0.0 0.0 0:20.81 khugepaged 130 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd 131 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd 132 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio 133 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 tpm_dev_wq 134 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 md 135 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller 136 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 devfreq_wq 137 root rt 0 0 0 0 S 0.0 0.0 0:00.00 watchdogd
2) Как найти процесс с высокой загрузкой процессора в Linux с помощью команды ps
ps обозначает processes status, она отображает информацию об активных / запущенных процессах в системе.
Она предоставляет снимок текущих процессов вместе с подробной информацией, такой как имя пользователя, идентификатор пользователя, использование процессора, использование памяти, дата начала процесса и имя команды времени и т. д.
# ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head PID PPID %MEM %CPU CMD 18527 1714 4.2 40.3 /usr/lib/firefox/firefox -contentproc -childID 18 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab 1714 1152 5.6 8.0 /usr/lib/firefox/firefox --new-window 18324 1714 4.9 6.3 /usr/lib/firefox/firefox -contentproc -childID 16 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab 3286 1714 2.0 5.1 /usr/lib/firefox/firefox -contentproc -childID 14 -isForBrowser -prefsLen 8078 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab 1783 1714 3.0 4.5 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab 1227 1152 2.3 2.5 /usr/bin/gnome-shell 1170 1168 3.5 2.2 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 16865 1714 2.5 2.1 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 10002 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab 2179 1714 2.7 1.8 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 7821 -prefMapSize 213431 -parentBuildID 20191031132559 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1714 true tab
Если вы хотите видеть только имя команды вместо абсолютного пути к команде, используйте формат команды ps ниже.
# ps -eo pid,ppid,%mem,%cpu,comm --sort=-%cpu | head PID PPID %MEM %CPU COMMAND 18527 1714 4.1 40.4 Web Content 1714 1152 5.7 8.0 firefox 18324 1714 4.9 6.3 Web Content 3286 1714 2.0 5.1 Web Content 1783 1714 3.0 4.5 Web Content 1227 1152 2.3 2.5 gnome-shell 1170 1168 3.5 2.2 Xorg 16865 1714 2.4 2.1 Web Content 2179 1714 2.7 1.8 Web Content
Характеристики процессора в Linux
В зависимости от ваших потребностей о процессоре можно узнать различную информацию. Вам может понадобится производитель, модель, тактовая частота, количество ядер или потоков, конфигурация кэша, доступные расширения процессора (аппаратная виртуализация, AES, MMX, SSE) и так далее. В Linux существует уйма инструментов как командной строки так и с графическим интерфейсом которые показывают информацию об оборудовании и в том числе процессоре.
В этой статье собраны самые лучшие и удобные инструменты с помощью которых можно посмотреть характеристики процессора Linux. Среди них есть как консольные утилиты, так и графические.
Содержание статьи:
Информация о процессоре Linux
1. /proc/cpuinfo
Простейший метод посмотреть характеристики процессора — открыть автоматически обновляемый системой файл /proc/cpuinfo. В этом файл показаны характеристики используемого процессора:
cat /proc/cpuinfo
Здесь вы можете узнать количество ядер и потоков процессора, тактовую частоту, модель, доступные расширения процессора, и еще несколько других вещей.
2. cpufreq-info
Утилита cpufreq-info входит в набор утилит для управления частотой процессора cpufrequtils, и позволяет посмотреть частоту каждого из ядер процессора, максимальную и минимальную частоты на которых может работать процессор, а также политику управления cpufreq. Перед использованием утилиту надо установить:
sudo apt install cpufrequtils
Для просмотра информации о первом ядре используйте:
cpufreq-info -c 0
3. cpuid
Консольная утилита cpuid показывает подробную информацию о процессоре используя набор функций CPUID. Выводится тип и семейство процессора, расширения, конфигурация кэша, TLB и информация про функции управления питанием. Для установки выполните:
sudo apt install cpuid
Для запуска:
cpuid
4. dmidecode
Утилита dmidecode собирает подробную информацию об оборудовании системы на основе данных DMI в BIOS. Отображаемая информация включает производителя, версию процессора, доступные расширения, максимальную и минимальную скорость таймера, количество ядер, конфигурацию кэша L1/L2/L3 и т д. Здесь информация о процессоре Linux намного легче читается чем у предыдущей утилиты.
sudo dmidecode -t 4
5. hardinfo
Hardinfo это графическая утилита которая позволяет получить информацию о процессоре и другом оборудовании в системе в графическом интерфейсе. Утилиту надо установить:
sudo apt install hardinfo
Запуск
hardinfo
6. i7z
Утилита i7z — монитор параметров процессора в реальном времени для процессоров Intel Core i3, i5 и i7. Он отображает информацию по каждому ядру в реальном времени, такую как состояние TurboBoost, частота ядер, настройки управления питанием, температура и т д. У i7z есть консольный интерфейс основанный на Ncurses, а также графический на базе библиотек Qt.
sudo i7z
7. inxi
Команда inxi — это bash скрипт, написанный для сбора информации о системе в удобном и понятном для человека виде. Он показывает модель процессора, размер кэша, скорость таймера и поддерживаемые дополнительные возможности процессора. Для установки используйте:
sudo apt install inxi
Для запуска:
inxi -C
8. likwid-topology
Likwid (Like I Knew What I’m Doing) — это набор инструментов командной строки для измерения, настройки и отображения параметров оборудования компьютера. Информация о процессоре может быть выведена с помощью утилиты likwid-topology Она показывает модель и семейство процессора, ядра, потоки, кэш, NUMA. Установка:
sudo apt install likwid
likwid-topology
9. lscpu
Команда lscpu отображает содержимое /proc/cpuinfo в более удобном для пользователя виде. Например, архитектуру процессора, количество активных ядер, потоков, сокетов.
lscpu
10. lshw
Команда lshw — универсальный инструмент для сбора данных об оборудовании. В отличии от других инструментов для lshw необходимы права суперпользователя так как утилита читает информацию из DMI в BIOS. Можно узнать общее количество ядер, и количество активных ядер. Но нет информации об кэше L1/L2/L3.
sudo lshw -class processor
11. lstopo
Утилита lstopo входит в пакет hwloc и визуализирует топологию системы. Сюда входит процессор, память, устройства ввода/вывода. Эта команда полезна для идентификации архитектуры процессора и топологии NUMA. Установка:
sudo apt install hwloc
lstopo
12. numactl
Первоначально разрабатываемая для настройки планировки NUMA и политик управления памятью в Linux numactl также позволяет посмотреть топологию NUMA:
sudo apt install numactl
numactl --hardware
13. x86info
x86info — инструмент командной строки для просмотра информации о процессорах архитектуры x86. Предоставляемая информация включает модель, количество ядер/потоков, скорость таймера, конфигурацию кэша, поддерживаемые флаги и т д. Установка в Ubuntu:
sudo apt install x86info
x86info --all
14. nproc
Утилита просто выводит количество доступных вычислительных потоков. Если процессор не поддерживает технологию HyperThreading, то будет выведено количество ядер:
nproc
15. hwinfo
Утилита hwinfo позволяет выводить информацию о различном оборудовании, в том числе и о процессоре. Программа отображает модель процессора, текущую частоту, поддерживаемые расширения. Наверное, это самый простой способ узнать частоту процессора Linux:
hwinfo --cpu
Выводы
В этой статье мы собрали самые популярные утилиты которые позволяют посмотреть процессор linux. Как видите, их действительно очень много. А какими программами пользуетесь вы? Мне нравится lscpu. Напишите в комментариях!
Управление процессами в Linux | Losst
Как вы думаете, операционная система Linux может автоматически позаботиться сама о себе? Когда работает все нормально или вам не нужны никакие нестандартные возможности — вполне да. Но иногда может понадобиться ваше вмешательство в ее работу.
В Linux для каждой отдельной программы, при ее запуске создается процесс. Неважно запускаете программу вы вручную самостоятельно или это делает система или ядро. Например, программа инициализации, которая запускается сразу после завершения загрузки ядра тоже имеет свой процесс с идентификатором 0. Процессы в linux можно описать как контейнеры, в которых хранится вся информация о состоянии и выполнении программы. Если программа работает хорошо, то все нормально, но если она зависла или вам нужно настроить ее работу может понадобиться управление процессами в Linux.
В этой статье будет затронута обширная тема, мы рассмотрим такие возможности:
- Просмотр запущенных процессов
- Просмотр информации о процессах
- Поиск процессов в Linux
- Изменение приоритета процессов
- Завершение процессов
- Ограничение памяти доступной процессу
Я не мог не включить в статью первые пункты, но они очень просты и мы не будем разбирать их очень подробно. Но вот все остальное может показаться сложным и недостаточно описанным.
Содержание статьи:
Что такое процесс?
Начнем с того, что разберемся в терминах. По сути, процесс — это каждая программа. Как я уже говорил для каждой запускаемой программы создается отдельный процесс. В рамках процесса программе выделяется процессорное время, оперативная память и другие системные ресурсы. У каждого процесса есть свой идентификатор, Proccess ID или просто PID, по ним, чаще всего и определяются процессы Linux. PID определяется неслучайно, как я уже говорил, программа инициализации получает PID 1, а каждая следующая запущенная программа — на единицу больше. Таким образом PID пользовательских программ доходит уже до нескольких тысяч.
На самом деле, процессы Linux не настолько абстрактны, какими они вам сейчас кажутся. Их вполне можно попытаться пощупать. Откройте ваш файловый менеджер, перейдите в корневой каталог, затем откройте папку /proc. Видите здесь кучу номеров? Так вот это все — PID всех запущенных процессов. В каждой из этих папок находится вся информация о процессе.
Например, посмотрим папку процесса 1. В папке есть другие под каталоги и много файлов. Файл cmdline содержит информацию о команде запуска процесса:
cat /proc/1/cmdline
/usr/lib/systemd/systemd
Поскольку у меня используется система инициализации Systemd, то и первый процесс запускается для нее. С помощью каталога /proc можно сделать все. Но это очень неудобно, особенно учитывая количество запущенных процессов в системе. Поэтому для реализации нужных задач существуют специальные утилиты. Перейдем к рассмотрению утилит, которые позволяют реализовать управление процессами в Linux.
Управление процессами в Linux
В Linux есть очень большое количество утилит для решения различных задач по управлению процессами. Это и такие многофункциональные решения, как htop, top, а также простые утилиты, например, ps, kill, killall, who и т д. Я не буду рассматривать в этой статье графические утилиты, и top тоже рассматривать не буду. Первое потому что слишком просто, второе — потому что htop лучше. Мы остановимся на работе с программой htop и ее аналогами в форме утилит в стиле GNU, одна утилита — одна функция.
Давайте установим htop, если она у вас еще не установлена. В Ubuntu это делается так:
sudo apt install htop
В других дистрибутивах вам нужно просто использовать свой менеджер пакетов. Имя пакета такое же.
Посмотреть запущенные процессы
Это очень простая задача, и также просто она решается. Для этого существует множество утилит, начиная от обычной ps, до более продвинутых интерактивных top, htop и так далее.
Открыв htop, мы сразу видим список запущенных процессов. Конечно, здесь отображены не все процессы linux, их-то в системе очень много, вы уже знаете, все они на один экран не поместятся. По умолчанию выводятся процессы, запущенные от имени вашего пользователя:
Вы можете увидеть такую информацию о процессе:
- PID — идентификатор процесса
- USER — пользователь, от которого был запущен процесс
- PRI — приоритет процесса linux на уровне ядра (обычно NI+20)
- NI — приоритет выполнения процесса от -20 до 19
- S — состояние процесса
- CPU — используемые ресурсы процессора
- MEM — использованная память
- TIME — время работы процесса
К отображению можно добавить и дополнительные параметры, но эти главные. Добавить параметры можно с помощью меню Setup. Там все очень просто, читайте подсказки и следуйте указаниям. Например, добавлен параметр PPID:
Очень важной особенностью программы есть то, что вы можете сортировать процессы в Linux по нужному параметру. Просто кликните по названию параметра, оно выделится зеленым и будет выполнена сортировка. Например, хотите посмотреть в каком порядке запускались процессы, сортируем по PID:
Также есть интересная возможность разместить процессы в виде дерева. Вы сможете увидеть, каким процессом был запущен тот или иной процесс. Для отображения дерева нажмите кнопку F5:
Почти те же действия вы можете выполнять с помощью программы ps. Только здесь нет такого удобного интерактивного режима. Все делается с помощью опций.
Рассмотрим основные опции, которые будем использовать:
- -e — вывести информацию обо всех процессах
- -a — вывести информацию обо всех наиболее часто запрашиваемых процессах
- -t — показывать только процессы из этого терминала
- -p — показывать информацию только об указанном процессе
- -u — показывать процессы только определенного пользователя
Одним словом, чтобы посмотреть все активные на данный момент процессы в linux, используется сочетание опций aux:
ps aux
Программа показывает все те же параметры, только здесь нет интерактивного интерфейса. Думаете здесь нельзя отсортировать процессы, но ошибаетесь, можно. Для этого есть опция sort. Вы можете сортировать их по любому полю, например:
ps aux --sort=%mem
Список будет отсортирован в обратном порядке, внизу значения больше, вверху — меньше. Если нужно в обратном порядке, добавьте минус:
ps aux --sort=-%cpu
В качестве поля для сортировки могут быть использованы приоритеты процессов Linux или любые другие параметры. Также вы можете обрезать вывод, если не нужно выводить всю информацию:
ps aux | tail
Казалось бы, у ps нет возможности стоить деревья процессов. Но не совсем, для этого существует отдельная команда:
pstree
Поиск процессов в Linux
Список процессов, это хорошо. Но иногда, когда какой-нибудь процесс завис и нужно убить процесс Linux или нам нужно провести с ним какие-либо действия, нужно выделить этот процесс из списка, узнать его PID и информацию о нем.
Чтобы найти процесс linux в htop можно использовать кнопку F3. Нажмите F3 и наберите нужное слово. Дальше чтобы перейти к следующему вхождению нажимайте F2 или Esc для завершения поиска:
Для поиска процессов в htop можно использовать также фильтр htop. Нажмите F4, введите слово и будут выведены только процессы linux, имя которых включает это слово.
В утилите ps фильтрации нет, но зато мы можем использовать утилиту grep, перенаправив вывод ps на нее чтобы найти процесс linux:
ps aux | grep chromium
Это очень часто употребляемая команда.
Изменение приоритета процессов
Приоритет процесса linux означает, насколько больше процессорного времени будет отдано этому процессу по сравнению с другими. Так мы можем очень тонко настроить какая программа будет работать быстрее, а какая медленнее. Значение приоритета может колебаться от 19 (минимальный приоритет) до -20 — максимальный приоритет процесса linux. Причем, уменьшать приоритет можно с правами обычного пользователя, но чтобы его увеличить нужны права суперпользователя.
В htop для управления приоритетом используется параметр Nice. Напомню, что Priv, это всего лишь поправка, она в большинстве случаев больше за Nice на 20. Чтобы изменить приоритет процесса просто установите на него курсор и нажимайте F7 для уменьшения числа (увеличения приоритета) или F8 — для увеличения числа.
Но и для решения этой задачи управления процессами Linux необязательно использовать htop. Вы можете сделать все и другими командами. Например, команда nice. С помощью нее вы можете указать приоритет для запускаемого процесса:
nice -n 10 apt-get upgrade
Или изменить приоритет для уже существующего по его pid:
renice -n 10 -p 1343
Завершение процессов в Linux
Если процесс завис и не отвечает, его необходимо завершить. В htop, чтобы убить процесс Linux, просто установите курсор на процесс и нажмите F9:
Система для управления процессами использует определенные сигналы, есть сигналы, которые указывают процессу завершиться. Вот несколько основных сигналов:
- SIGKILL — попросить процесс сохранить данные и завершится
- SIGTERM — завершить процесс немедленно, без сохранения
Вообще сигналов есть несколько десятков, но мы не будем их рассматривать. Отправим сигнал SIGKILL:
Также можно воспользоваться утилитой kill:
kill -TERM 1943
Также можно уничтожить процесс по имени:
killall chromium
Ограничение процессов
Управление процессами в Linux позволяет контролировать практически все. Вы уже видели что можно сделать, но можно еще больше. С помощью команды ulimit и конфигурационного файла /etc/security/limits.conf вы можете ограничить процессам доступ к системным ресурсам, таким как память, файлы и процессор. Например, вы можете ограничить память процесса Linux, количество файлов и т д.
Запись в файле имеет следующий вид:
<домен> <тип> <элемент> <значение>
- домен — имя пользователя, группы или UID
- тип — вид ограничений — soft или hard
- элемент — ресурс который будет ограничен
- значение — необходимый предел
Жесткие ограничения устанавливаются суперпользователем и не могут быть изменены обычными пользователями. Мягкие, soft ограничения могут меняться пользователями с помощью команды ulimit.
Рассмотрим основные ограничения, которые можно применить к процессам:
- nofile — максимальное количество открытых файлов
- as — максимальное количество оперативной памяти
- stack — максимальный размер стека
- cpu — максимальное процессорное время
- nproc — максимальное количество ядер процессора
- locks — количество заблокированных файлов
- nice — максимальный приоритет процесса
Например, ограничим процессорное время для процессов пользователя sergiy:
sergiy hard nproc 20
Посмотреть ограничения для определенного процесса вы можете в папке proc:
cat /proc/PID/limits
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 204800 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 23562 23562 processes
Max open files 1024 4096 files
Max locked memory 18446744073708503040 18446744073708503040 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 23562 23562 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Ограничения, измененные, таким образом вступят в силу после перезагрузки. Но мы можем и устанавливать ограничения для текущего командного интерпретатора и создаваемых им процессов с помощью команды ulimit.
Вот опции команды:
- -S — мягкое ограничение
- -H — жесткое ограничение
- -a — вывести всю информацию
- -f — максимальный размер создаваемых файлов
- -n — максимальное количество открытых файлов
- -s — максимальный размер стека
- -t — максимальное количество процессорного времени
- -u — максимальное количество запущенных процессов
- -v — максимальный объем виртуальной памяти
Например, мы можем установить новое ограничение для количества открываемых файлов:
ulimit -Sn 1024
Теперь смотрим:
ulimit -Sn
Установим лимит оперативной памяти:
ulimit -Sv 500000
Напоминаю, что это ограничение будет актуально для всех программ, выполняемых в этом терминале.
Выводы
Вот и все. Теперь управление процессами в Linux не вызовет у вас проблем. Мы рассмотрели очень даже подробно эту тему. Если у вас остались вопросы или есть предложения по дополнению статьи, пишите в комментариях!
Существует множество инструментов с открытым исходным кодом для мониторинга производительности систем Linux.
Они отправляют уведомление по электронной почте, когда система достигнет заданного порогового значения.
Они контролируютт все, например, использование ЦП, использование памяти, использование подкачки, использование дискового пространства и многое другое.
Если у вас мало систем и вы хотите их контролировать, то для этого можно написать небольшой скрипт оболочки.
В этом уроке мы добавили два скрипта оболочки для мониторинга загрузки процессора в системе Linux.
Когда система достигает заданного порогового значения, скрипт отправляет сообщение по электронной почте с соответствующим идентификатором.
Метод 1: Скрипт Linux Shell для мониторинга загрузки процессора и отправки электронной почты
Если вы хотите получать процент использования ЦП по почте только тогда, когда система достигает заданного порога, используйте следующий скрипт
Это очень простой и понятный и однострочный скрипт.
Он вызовет электронную почту, когда ваша система достигнет 80% загрузки ЦП.
*/5 * * * * /usr/bin/cat /proc/loadavg | awk '{print $1}' | awk '{ if($1 > 80) printf("Current CPU Utilization is: %.2f%\n"), $0;}' | mail -s "High CPU Alert" [email protected]
Примечание. Вам необходимо изменить идентификатор электронной почты вместо нашего. Кроме того, вы можете изменить пороговое значение загрузки процессора в соответствии с вашими требованиями.
Вывод: вы получите оповещение по электронной почте, аналогичное приведенному ниже.
Current CPU Utilization is: 80.40%
В прошлом мы добавили много полезных скриптов оболочки.
Если вы хотите проверить их, перейдите по ссылке ниже.
http://itisgood.ru/category/scripts/
Метод 2: Скрипт Linux Shell для мониторинга загрузки процессора и отправки электронной почты
Если вы хотите получить больше информации об использовании процессора в почтовом предупреждении, тогда используйте следующий скрипт, который включает в себя подробности процесса загрузки ЦП, основанные на верхних командах и командах ps.
Он непостоянно будет давать вам представление о том, что происходит в вашей системе.
Он вызовет электронную почту, когда ваша система достигнет 80% загрузки ЦП.
Примечание. Вам необходимо изменить идентификатор электронной почты вместо нашего. Кроме того, вы можете изменить пороговое значение загрузки процессора в соответствии с вашими требованиями.
# vi /opt/scripts/cpu-alert.sh #!/bin/bash cpuuse=$(cat /proc/loadavg | awk '{print $1}') if [ "$cpuuse" > 80 ]; then SUBJECT="ATTENTION: CPU Load Is High on $(hostname) at $(date)" MESSAGE="/tmp/Mail.out" TO="[email protected]" echo "CPU Current Usage is: $cpuuse%" >> $MESSAGE echo "" >> $MESSAGE echo "+------------------------------------------------------------------+" >> $MESSAGE echo "Top CPU Process Using top command" >> $MESSAGE echo "+------------------------------------------------------------------+" >> $MESSAGE echo "$(top -bn1 | head -20)" >> $MESSAGE echo "" >> $MESSAGE echo "+------------------------------------------------------------------+" >> $MESSAGE echo "Top CPU Process Using ps command" >> $MESSAGE echo "+------------------------------------------------------------------+" >> $MESSAGE echo "$(ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10)" >> $MESSAGE mail -s "$SUBJECT" "$TO" < $MESSAGE rm /tmp/Mail.out fi
Наконец добавьте cronjob, чтобы автоматизировать это.
Он будет запускаться каждые 5 минут.
⌚ Как создавать и управлять заданиями Cron в Linux
# crontab -e */10 * * * * /bin/bash /opt/scripts/cpu-alert.sh
Примечание. Через 5 минут вы получите оповещение по электронной почте, поскольку запуск скрипта запланирован каждые 5 минут (но это не совсем 5 минут и зависит от времени).
Скажем например. Если ваша система достигнет предела в 8.25, вы получите оповещение по электронной почте через 5 минут. Надеюсь, теперь все ясно.
Вывод: вы получите оповещение по электронной почте, аналогичное приведенному ниже.
CPU Current Usage is: 80.51% +------------------------------------------------------------------+ Top CPU Process Using top command +------------------------------------------------------------------+ top - 13:23:01 up 1:43, 1 user, load average: 2.58, 2.58, 1.51 Tasks: 306 total, 3 running, 303 sleeping, 0 stopped, 0 zombie %Cpu0 : 6.2 us, 6.2 sy, 0.0 ni, 87.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 18.8 us, 0.0 sy, 0.0 ni, 81.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 50.0 us, 37.5 sy, 0.0 ni, 12.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.0 us, 5.9 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 29.4 us, 23.5 sy, 0.0 ni, 47.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu6 : 0.0 us, 5.9 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 5.9 us, 0.0 sy, 0.0 ni, 94.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 16248588 total, 223436 free, 5816924 used, 10208228 buff/cache KiB Swap: 17873388 total, 17871340 free, 2048 used. 7440884 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8867 daygeek 20 2743884 440420 360952 R 100.0 2.7 1:07.25 /usr/lib/virtualbox/VirtualBoxVM --comment CentOS7 --startvm 002f47b8-2af2-48f5-be1d-67b67e03514c --no-startvm-errormsgbox 9119 daygeek 20 36136 784 R 46.7 0.0 0:00.07 /usr/bin/CROND -n 1057 daygeek 20 889808 487692 461692 S 13.3 3.0 4:21.12 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 3098 daygeek 20 1929012 351412 120532 S 13.3 2.2 16:42.51 /usr/lib/firefox/firefox -contentproc -childID 6 -isForBrowser -prefsLen 9236 -prefMapSize 184485 -parentBuildID 20190521202118 -greomni /us+ 1 root 20 188820 10144 7708 S 6.7 0.1 0:06.92 /sbin/init 818 gdm 20 199836 25120 15876 S 6.7 0.2 0:01.85 /usr/lib/Xorg vt1 -displayfd 3 -auth /run/user/120/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 1170 daygeek 9 -11 2676516 16516 12520 S 6.7 0.1 1:28.30 /usr/bin/pulseaudio --daemonize=no 8271 root 20 I 6.7 0:00.21 [kworker/u16:4-i915] 9117 daygeek 20 13528 4036 3144 R 6.7 0.0 0:00.01 top -bn1 +------------------------------------------------------------------+ Top CPU Process Using ps command +------------------------------------------------------------------+ %CPU PID USER COMMAND 8.8 8522 daygeek /usr/lib/virtualbox/VirtualBox 86.2 8867 daygeek /usr/lib/virtualbox/VirtualBoxVM --comment CentOS7 --startvm 002f47b8-2af2-48f5-be1d-67b67e03514c --no-startvm-errormsgbox 76.1 8921 daygeek /usr/lib/virtualbox/VirtualBoxVM --comment Ubuntu-18.04 --startvm e8c32dbb-8b01-41b0-977a-bf28b9db1117 --no-startvm-errormsgbox 5.5 8080 daygeek /usr/bin/nautilus --gapplication-service 4.7 4575 daygeek /usr/lib/firefox/firefox -contentproc -childID 12 -isForBrowser -prefsLen 9375 -prefMapSize 184485 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1525 true tab 4.4 3511 daygeek /usr/lib/firefox/firefox -contentproc -childID 8 -isForBrowser -prefsLen 9308 -prefMapSize 184485 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1525 true tab 4.4 3190 daygeek /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 9237 -prefMapSize 184485 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1525 true tab 4.4 1612 daygeek /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 184485 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 1525 true tab 4.2 3565 daygeek /usr/bin/../lib/notepadqq/notepadqq-bin
Поделитесь статьей:
Лучшие индикаторы для Ubuntu 16.04
Еще с самого появления графических окружений для Linux среди пользователей набрали популярность различные виджеты и индикаторы, которые предоставляли информацию о состоянии системы и позволяли управлять различными процессами прямо на рабочем столе не открывая дополнительных программ. Для многих тогдашних пользователей это было большим преимуществом по сравнению с Windows.
Новые версии окружения рабочего стола Ubuntu Unity не поддерживают виджетов по умолчанию, но зато есть огромное количество индикаторов, которые вы можете разместить на панели. Для активации индикатора нужно по нему нажать, но даже на самом значке индикатора может быть размещена полезная информация. В этой статье мы собрали лучшие индикаторы для Ubuntu 16.04, которые вы можете установить в свою систему. Все программы расположены в произвольном порядке.
Содержание статьи:
1. System Load Indicator
Иногда может быть полезным посмотреть всю информацию о работе системы, загрузку процессора, память, нагрузку на сеть и диск. Всю это информацию можно получить от System Load Indicator. Этот индикатор портирован из оригинального gnome-system-monitor и имеет все его возможности.
В настройках вы можете указать какую информацию нужно выводить, размер значка монитора, а также цвета для графиков, которые будут отображаться на панели. Для установки наберите:
sudo apt install indicator-multiload
2. ClassicMenu Indicator
Этот индикатор позволяет получить классическое меню Gnome на вашей панели. Как и в обычном меню, здесь перечислены все установленные программы, в том числе программы Wine.
Для установки индикатора наберите:
sudo add-apt-repository ppa:diesch/testing
$ sudo apt-get update
$ sudo apt-get install classicmenu-indicator
3. Hardware Sensors Indicator
Hardware Sensors Indicator позволяет отображать температуру различных устройств, используя данные от пакета lm_sensors. Вы можете выбрать определенный параметр, который будет отображаться на панели.
Для установки наберите:
sudo apt-add-repository ppa:alexmurray/indicator-sensors
$ sudo apt-get update
$ sudo apt-get install indicator-sensors
4. Simple Weather Indicator
Simple Weather Indicator — это очень простой индикатор погоды Ubuntu 16.04 для панели Untiy. Ваше местоположение определяется автоматически и на панели отображается текущая температура.
Для установки выполните:
sudo add-apt-repository ppa:kasra-mp/ubuntu-indicator-weather
$ sudo apt update
$ sudo apt install indicator-weather
5. My Weather Indicator
My Weather Indicator — это еще один отличный индикатор погоды для Ubuntu. Он показывает текущую погодную ситуацию в виде виджета, а также прогноз на неделю для двух, заданных местоположений. Вся информация выводится на виджет, размещенный на рабочем столе.
Программу можно установить из PPA:
sudo add-apt-repository ppa:atareao/atareao
$ sudo apt-get update
$ sudo apt-get install my-weather-indicator
6. CPUFreq
Частота процессора — это непостоянная величина, она изменяется в зависимости от политики управления питания и нагрузки на процессор. С помощью виджета CPUFreq вы можете регулировать частоту процессора или менять политику энергосбережения прямо на панели:
Для установки выполните:
sudo apt install indicator-cpufreq
7. Places Indicator
В более старых версиях Gnome на панели была кнопка, с помощью которой можно было открыть определенную папку. Теперь такую функциональность можно получить с помощью индикатора:
Для установки наберите:
sudo add-apt-repository ppa:vlijm/placesfiles
$ sudo apt-get update
$ sudo apt-get install placesfiles
8.Caffeine
Caffeine — это утилита, которая предотвращает потухание экрана если запущен какой-либо проигрыватель. Это будет очень удобно для пользователей, которые часто что-то смотрят. Также можно нажать на индикатор утилиты на панели чтобы экран не отключался.
Для установки выполните:
sudo add-apt-repository ppa:caffeine-developers/caffeine-dev
$ sudo apt-get update
$ sudo apt-get install caffeine
9. F.lux Indicator
Индикатор F.lux позволяет настраивать цветовую температуру монитора таким образом, чтобы он выглядел наиболее похожим на освещение комнаты и минимально влиял на глаза. Так, днем лучше воспринимаются более холодные цвета, а в ночью — теплые.
Для установки используйте:
sudo add-apt-repository ppa:kilian/f.lux
$ sudo apt-get update
$ sudo apt-get install fluxgui
10. Shutter
Shutter — это утилита для снимков экрана в Linux. С помощью нее вы можете применять различные эффекты к скриншотам, снимать весь экран или только область, а также сразу загружать фото на хостинг сайта.
Для установки выполните:
sudo add-apt-repository ppa:shutter/ppa
$ sudo apt-get update && sudo apt-get install shutter
11. Ejecter
Ejecter — это индикатор для просмотра и извлечения подключенных внешних запоминающих устройств, например, USB флешек.
Вы можете установить ejecter из официальных репозиториев:
sudo apt install ejecter
12. Sysmonitor Indicator
Красивый и очень простой индикатор, который отображает на панели текущую нагрузку на процессор и использование оперативной памяти, также есть возможность вывода показаний датчиков температуры на материнской плате.
Установить индикатор можно из PPA:
sudo add-apt-repository ppa:alexeftimie/ppa
$ sudo apt update
$ sudo apt install indicator-sysmonitor
13. Tomate
Этот простой индикатор поможет вам быть сконцентрированным. Вы включаете помидор перед решением сложной проблемы, и вам нужно быть максимально сконцентрированным как минимум 10 минут, пока он не станет зеленым. Затем только вы можете перейти к другим делам. Также Tomate покажет вам время, которое было затрачено на решение задачи.
Установить программу вы можете из официальных репозиториев:
sudo add-apt-repository ppa:stvs/tomate
$ sudo apt-get update && sudo apt-get install -y tomate
14. Brightness indicator
Brightness indicator позволяет вам регулировать яркость дисплея вашего ноутбука прямо на панели. После нажатия на иконку выводятся все доступные значения яркости с шагом 15, вы можете установить любое из доступных значений одним нажатием.
Для установки наберите:
sudo add-apt-repository ppa:indicator-brightness/ppa
$ sudo apt-get update
$ sudo apt-get install indicator-brightness
15. Diodon
Diodon — это очень простой индикатор буфера обмена для Ubuntu Unity и Gnome. Утилита запоминает последние записи, которые были в буфере и позволяет вставлять их в нужное вам место. Размер буфера ограничен.
Установить программу можно из официальных репозиториев:
sudo apt-get update
$ sudo apt-get install diodon
16. Keylock Indicator
Этот индикатор Ubuntu 16.04 позволяет узнать какая клавиша из набора переключателей Caps Lock, Num Lock и Scroll Lock нажата.
Для установки нужно использовать PPA:
sudo add-apt-repository ppa:tsbarnes/indicator-keylock
$ sudo apt update
$ sudo apt install indicator-keylock
17. Netspeed Indicator
Индикатор Netspeed показывает текущую скорость передачи и приема данных через сеть интернет, данные выводятся прямо на панель, что очень удобно.
Для установки можно использовать PPA:
sudo add-apt-repository ppa:nilarimogard/webupd8
$ sudo apt-get update
$ sudo apt-get install indicator-netspeed
18. Touchpad Indicator
Если у вас есть тачпад, который нужно включать или выключать в зависимости от ситуации, то для вас отлично подойдет этот индикатор.
sudo add-apt-repository pa:atareao/atareao
$ sudo apt update
$ sudo apt install touchpad-indicator
19. Stickynotes Indicator
Stickynotes — это индикатор для написания заметок на панели Ubuntu. Программа работает на похоже на все другие утилиты для создания липких листков. Вы можете записывать различные напоминания.
Для установки программы выполните:
sudo add-apt-repository ppa:umang/indicator-stickynotes
$ sudo apt-get update
$ sudo apt-get install indicator-stickynotes
20. Recent Notification Indicator
Этот индикатор отображает самые последние уведомления, которые были выведены в окружении рабочего стола. Индикатор позволяет копировать текст объявления или нажать на ссылку, чтобы его активировать.
Для установки наберите:
sudo add-apt-repository ppa:noobslab/indicators
$ sudo apt-get update
$ sudo apt-get install indicator-notifications
Выводы
В этой статье мы рассмотрели лучшие индикаторы для Ubuntu 16.04, с помощью них вы сможете расширить функциональность своей системы, а также получать информацию, которая вам нужна прямо из рабочего стола. Конечно, это далеко не все отличные индикаторы Ubuntu, если вы знаете другие, которые не указанны в статье, напишите в комментариях!
Оцените статью:
Загрузка…
Как проверить загрузку ЦП Linux? {Easy Way}
Понимание использования процессора CPU важно для измерения общей производительности системы. От энтузиастов Linux до системных администраторов очень важно знать, как контролировать использование ЦП в Linux из командной строки.
Это руководство проведет вас через несколько вариантов для проверки использования ЦП Linux .
Откройте окно терминала и введите следующее:
верх
Система должна отреагировать, отобразив список всех запущенных в данный момент процессов.Он также предоставит информацию о пользователях, задачах, загрузке процессора и использовании памяти.
Этот список может часто меняться по мере запуска и завершения фоновых задач. Один полезный переключатель — запуск top
с переключателем –i
:
верх –i
Это скрывает все незанятые процессы, что упрощает сортировку списка.
Чтобы выйти из функции top
, нажмите на клавиатуре букву q .
Некоторые другие полезные команды во время работы top
включают:
-
M
— сортировать список задач по использованию памяти -
P
— отсортировать список задач по загрузке процессора -
N
— отсортировать список задач по идентификатору процесса -
T
— отсортировать список задач по времени выполнения
Чтобы получить помощь с top
, вы можете нажать на букву h во время работы.Или вы можете ввести в командной строке следующее:
верхняя часть человека
Откроется страница руководства для команды top
.
Mpstat является частью пакета программного обеспечения под названием sysstat . Большинство дистрибутивов на основе RHEL включают этот программный пакет.
Для систем Debian и Ubuntu вам потребуется установить пакет sysstat.
В окне терминала введите следующее:
sudo apt-get install sysstat
Разрешить
.
5 инструментов системного мониторинга для Ubuntu
Если вы ограничены в ресурсах, исследуете замедление работы системы или, как я, просто любопытны, Ubuntu позволяет легко следить за информацией о процессоре, оперативной памяти и другой аппаратной информации.
Ниже приведены пять различных способов мониторинга использования системных ресурсов в Ubuntu — от панельных апплетов индикаторов до приложений, установленных по умолчанию.
Индикатор-SysMonitor
Indicator-SysMonitor работает немного, но делает это хорошо.После установки и запуска он отображает использование ЦП и ОЗУ на верхней панели. Просто.
Апплет поддерживает минимальное количество параметров настройки, таких как порядок, в котором элементы отображаются на панели, и их частота обновления.
Скачать индикатор Sys Monitor для Ubuntu
Установка Conky
Conky может быть головной болью в настройке, но он предлагает почти бесконечное множество способов отображения и просмотра использования системных ресурсов (среди множества других вещей).
В прошлом мы демонстрировали множество привлекательных настроек — взгляните на наш тег conky, чтобы просмотреть их.
Один из моих личных фаворитов — Reloj Conky, так как он маленький, не занимает много места и показывает мне информацию, которую я ищу, без каких-либо добавлений:
Скринлет
Screenlets — небольшие настольные виджеты для Linux — это довольно старые стандарты сегодняшнего дня, но все еще есть ряд хорошо выглядящих и легко доступных виджетов, которые вы, возможно, захотите попробовать.
Например, вы найдете набор мониторов ЦП и ОЗУ с разными стилями, включенных в пакет screenlets-all, доступный в Центре программного обеспечения Ubuntu.
«Верх»
Все приведенные выше предложения предполагают, что вы хотите постоянно видеть, что поглощает ваши ресурсы . Скорее всего, вы просто хотите проверять время от времени, , когда что-то кажется немного медленным или когда что-то идет не так.
Терминал может отображать запущенные процессы с помощью команды « Top ».
Все, что вам нужно сделать, это открыть терминал на рабочем столе или, если что-то зависло, нажав CTRL + ALT + F1 через F12, и введя команду «top».
Вы выбираете количество отображаемых процессов, нажимая « n » (нижний регистр) и вводя число. 0 по умолчанию; это позволяет разместить на экране как можно больше процессов — поэтому чем больше терминал, тем больше процессов вы увидите.
Результаты тоже можно заказать: —
- P заказов по загрузке ЦП (по умолчанию)
- T сортирует по времени
- A сортирует по возрасту (сначала новые)
- M заказывает позиции по использованию RAM
«Системный монитор»
Наконец, если ничего из вышеперечисленного вам не по вкусу, вы всегда можете воспользоваться приложением System Monitor по умолчанию .
Он не такой яркий, но он отображает множество простых для оценки обзоров. От списка активных процессов до разбивки использования ресурсов, в System Monitor есть множество функций, которые делают его незаменимым инструментом для периодического просмотра ресурсов.
И, в отличие от остальных вариантов в этом списке, это единственный вариант, который предлагает прямой способ уничтожения процессов и управления ими.
Главная »Список» 5 Инструменты мониторинга системы для Ubuntu
.