Load average в linux: разгадка тайны

Основные теоретические сведения¶

Цель: Первичное знакомство с командным интерпретатором. Изучение базовых команд операционной системы Linux.

Теоретическая часть:

Среди всех элементов операционной системы Linux самым важным, является командная строка (Терминал). Оболочка во многом определяет богатые возможности и гибкость операционной системы Linux. С помощью командной строки можно выполнять действия, которые были бы немыслимы при работе с графическим пользовательским интерфейсом. Независимо от того, KDE или GNOME, оказывается, что многие действия гораздо быстрее и эффективнее выполнить, пользуясь только командной строкой. Освоение Linux стоит начинать с изучения средств командной оболочки.

Файлы и ничего кроме файлов

Все, с чем Вы встретитесь в операционной системе Linux, — это файлы. Абсолютно все! Очевидно, что текстовый документ — это файл. Изображения, аудиоданные в формате МР3 и видеофрагменты — это несомненно файлы. Каталоги — это тоже файлы, содержащие информацию о других файлах. Дисковые устройства — это большие файлы. Сетевые соединения тоже файлы. Даже исполняемый процесс — это файл. С точки зрения операционной системы Linux файл представляет собой поток битов или байтов. Система не интересуется тем, что означает каждый байт. Это забота конкретных программ, выполняющихся в операционной системе Linux. Для операционной системы Linux и документ, и сетевое соединение всего лишь файлы. Как обрабатывать текстовый документ, знает редактор, а сетевое приложение умеет работать с сетевым соединением.

В отличие от Windows и МасOS в операционной системе Linux имена файлов чувствительны к регистру символов. В частности, Вы можете встретить в одном каталоге все три файла которые приведены ниже в качестве примера:

С точки зрения файловой операционной системы Linux — это различные имена файлов. Если вы попытаетесь создать файлы с этими же именами в Windows или МасOS, то вероятнее всего попытка увенчается провалом, и система предложит Вам выбрать другое имя для файла.

Чувствительность к регистру символов также означает, что при вводе команд они должны в точности совпадать с именами файлов, поддерживающих их. Так, например, удаляя файл с помощью команды rm, нельзя вводить RM, Rm или rM. Надо также следить за написанием имен, задаваемых в качестве параметров. Если вы захотите удалить файл «SIT.txt», а укажете имя Sit.txt, вы лишитесь совсем не того файла, с которым предполагали расстаться.

Предупреждение

Список специальных символов которые не рекомендуется использовать в названиях файлов.

/   - Нельзя использовать ни при каких обстоятельствах

\   - Должен быть предварен таким же символом. Применять не рекомендуется

-   - Нельзя использовать в начале имени файла или каталога

[]  - Каждый из этих символов должен быть предварен обратной косой чертой. Применять не рекомендуется

{}  - Каждый из этих символов должен быть предварен обратной косой чертой. Применять не рекомендуется

*   - Должен быть предварен обратной косой чертой. Применять не рекомендуется

?   - Должен быть предварен обратной косой чертой. Применять не рекомендуется

'   - Должен быть предварен обратной косой чертой. Применять не рекомендуется

"   - Должен быть предварен обратной косой чертой. Применять не рекомендуется

Групповые операции:

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

Пример использования групповых операций:

Групповая операция с применение » * » — отмечает любое (в том числе нулевое) количество любых символов.

Групповая операция с применение » ? «. Символ » ? » — соответствует одному произвольному символу.

Групповая операция с применение » [] «. Квадратные скобки позволяют задавать один символ из набора или символ, принадлежащий определенному диапазону.

Консольные команды:

Super+стрелки: перемещаем окна

Это доступно и в Windows. При использовании приложения нажмите Super и левую клавишу со стрелкой, и приложение перейдет к левому краю экрана, занимая половину экрана.

Точно так же нажатие клавиш «Супер» и «Стрелка вправо» переместит приложение к правому краю.

Клавиши со стрелками «Супер» и «Вверх» развернут окно приложения, а стрелки «Супер» и «Вниз» вернут приложение к своему обычному состоянию.

8. Super+M: Откроет уведомления

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

Панель уведомлений в Ubuntu 18.10

С комбинацией клавиш Super + M вы можете открыть эту область уведомлений. Если вы нажмете эти клавиши еще раз, открытая панель уведомлений будет закрыта.

Вы также можете использовать Super + V для переключения панели уведомлений.

Я слышал, что в файловой системе Ext4 невозможно восстановить удаленный из Корзины файл. Что делать, если случайно удалил важные файлы?

Как и в Windows, где используется файловая система NTFS, в Linux с файловой системой Ext4, а таковая используется в большинстве дистрибутивов, при очистке Корзины файлы не удаляются сразу, а остаются на диске до тех пор, пока не будут перезаписаны другими файлами. Следовательно, их можно восстановить, но на практике не всё так просто. Дело в том, что при удалении файла из каталога запись о нём удаляется также из inode — особой области физической памяти, в которой хранится информация о записанных блоках. При этом очищенный inode невозможно отличить от тех inode, которые ранее никогда не использовались.

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

Краткий итог

Итак, Linux вовсе не является системой для гиков или сисадминов, как до сих пор думают некоторые пользователи. Если речь идет о решении базовых задач, популярные дистрибутивы Linux в этом отношении столь же удобны, как и последние версии Windows. Да, в новой системе поначалу будете ощущать себя неловко, к некоторым вещам придется привыкнуть, некоторым — обучиться с нуля, но разве вы не испытывали затруднения, впервые сев за компьютер под управлением Windows? Опыт приходит со временем и никак иначе. К тому же переход на Linux не означает полный отказ от Windows, ведь обе эти системы прекрасно могут сосуществовать на одном компьютере.

Типы процессов

В Linux существует три основных типа процессов:

   Процессы переднего плана (или «интерактивные процессы») — они инициализируются и управляются с помощью терминального сеанса. Другими словами, необходимым условием для запуска таких процессов является наличие пользователя, подключенного к системе; они не запускаются автоматически как часть системных функций/служб. Когда команда/процесс выполняется на переднем плане, то они полностью занимают запустивший их терминал. Вы не сможете использовать другие команды, т.к. приглашение оболочки будет недоступно, пока данный процесс выполняется на переднем плане.

   Фоновые процессы (или автоматические процессы») — это процессы, не подключенные к терминалу; они не ожидают пользовательского ввода данных. Таким образом, другие процессы могут выполняться параллельно с процессом, запущенным в фоновом режиме, поскольку им не нужно ждать его завершения.

   Демоны (англ. daemons») — это особый тип фоновых процессов, которые запускаются при старте системы и продолжают работать в виде службы; они не умирают. Такие процессы запускаются как системные задачи (службы). Однако при этом они могут управляться пользователем через init-процесс (о котором мы поговорим чуть позже). Например, к демонам относится служба электронных сообщений sendmail и sshd — служба, принимающая от клиентов запросы на соединения по протоколу ssh. За исключением процесса init и некоторых других, процессы демонов обычно имеют окончание в своем имени.

Список ключей для команды ls.

Для повседневной работы, одни из самых используемых ключей для команды ls:

  • -l — вывод подробной информации о содержимом каталога в виде списка;
  • -a (—all) — вывод информации о всех имеющихся объектах явных и скрытых;
  • -A (—allmost-all) — вывод информации о всех имеющихся явных и скрытых объектах (за исключением объектов «.» и «..»);
  • -d (—directory) — вывод информации о директории без вывода его содержимого;
  • -F — к объектам являющимся каталогами добавит в конце символ слеш «/», к объектам являющимися исполняемыми файлами добавляется «*», к объектам являющимися символьными ссылками — «@»;
  • -r (—reverse) — данные ключи меняют сортировку на обратную;
  • -i — отображение номера индексных дескрипторов объектов;
  • -S — сортировка объектов по размеру от большого к меньшему;
  • -Sr — сортировка объектов по размеру от меньшего;
  • -t — сортировка объектов по времени модификации файлов;
  • -R (—recursive) — вывод информации об имеющихся объектах в том числе и объектах во вложенных каталогах.

Способы работы с командой ls и ее ключи, упоминаемые в статье это далеко не весь список. Если вы желаете использовать всю мощь этой на первый взгляд простой команды, то как уже упоминалось ранее, более подробную информацию можно получить при вызове встроенного мануала $ man ls .

Отслеживание активных процессов

Существует несколько различных инструментов для просмотра/перечисления запущенных в системе процессов. Двумя традиционными и хорошо известными из них являются команды ps и top:

Команда ps

Отображает информацию об активных процессах в системе, как показано на следующем скриншоте:

Для получения дополнительной информации о процессах, запущенных текущим пользователем, применяется опция :

Столбцы, присутствующие в выводе команды , имеют следующие значения:

   UID — идентификатор пользователя, которому принадлежит процесс (тот, от чьего имени происходит выполнение).

   PID — идентификатор процесса.

   PPID — идентификатор родительского процесса.

   C — загрузка CPU процессом.

   STIME — время начала выполнения процесса.

   TTY — тип терминала, связанного с процессом.

   TIME — количество процессорного времени, потраченного на выполнение процесса.

   CMD — команда, запустившая этот процесс.

Также можно отобразить информацию по конкретному процессу, используя команду , например:

Есть и другие опции, которые можно использовать вместе с командой :

    — показывает информацию о процессах по всем пользователям;

    — показывает информацию о процессах без терминалов;

    — показывает дополнительную информацию о процессе по заданному UID или имени пользователя;

    — отображение расширенной информации.

Если вы хотите вывести вообще всю информацию по всем процессам системы, то используйте команду :

Обратите внимание на выделенный заголовок. Команда поддерживает функцию сортировки процессов по соответствующим столбцам

Например, чтобы отсортировать список процессов по потреблению ресурсов процессора (в порядке возрастания), введите команду:

Результат:

Если вы ходите выполнить сортировку по потреблению памяти (в порядке убывания), то добавьте к имени интересующего столбца знак минуса:

Результат:

Еще один очень популярный пример использования команды — это объединение её и для поиска заданного процесса по его имени:

Результат:

Команда top

Команда top отображает информацию о запущенных процессах в режиме реального времени:

Рассмотрим детально:

   PID — идентификатор процесса.

   USER — пользователь, которому принадлежит процесс.

   PR — приоритет процесса на уровне ядра.

   NI — приоритет выполнения процесса от до .

   VIRT — общий объем (в килобайтах) виртуальной памяти (физическая память самого процесса; загруженные с диска файлы библиотек; память, совместно используемая с другими процессами и т.п.), используемой задачей в данный момент.

   RES — текущий объем (в килобайтах) физической памяти процесса.

   SHR — объем совместно используемой с другими процессами памяти.

   S (сокр. от «STATUS») — состояние процесса:

   S (сокр. от «Sleeping») — прерываемое ожидание. Процесс ждет наступления события.

   I (сокр. от «Idle») — процесс бездействует.

   R (сокр. от «Running») — процесс выполняется (или поставлен в очередь на выполнение).

   Z (сокр. от «Zombie») — зомби-процесс.

   %CPU — процент используемых ресурсов процессора.

   %MEM — процент используемой памяти.

   TIME+ — количество процессорного времени, потраченного на выполнение процесса.

   COMMAND — имя процесса (команды).

Также в сочетании с основными символами состояния процесса (S от «STATUS») вы можете встретить и дополнительные:

    — процесс с высоким приоритетом;

    — процесс с низким приоритетом;

    — многопоточный процесс;

    — фоновый процесс;

    — лидер сессии.

Примечание: Все процессы объединены в сессии. Процессы, принадлежащие к одной сессии, определяются общим идентификатором сессии — идентификатором процесса, который создал эту сессию. Лидер сессии — это процесс, идентификатор сессии которого совпадает с его идентификаторами процесса и группы процессов.

Команда glances

Команда glances — это относительно новый инструмент мониторинга системы с расширенными функциями:

Примечание: Если в вашей системе отсутствует данная утилита, то установить её можно с помощью следующих команд:

RHEL/CentOS/Fedora

Debian/Ubuntu/Linux Mint

Команда du – синтаксис и опции

Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T

Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux

Итак давайте узнаем что у нас занимает место

du --max-depth=1 -h /

Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий

Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var

du --max-depth=1 -h /var

видим что это папка log

Теперь смотрим /var/log

du -ah /var/log

и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.

Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:

du … …
du code_text.txt
4    code_text.txt

Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:

Опция Назначение
-a Выводит объём для всех элементов, а не только для каталогов
—apparent-size Выводит действительные размеры, но не занимаемое место а диске
-B,

—block-size=РАЗМЕР

Задаёт использование определённых единиц измерения объёма
-b,

—bytes

То же самое, что и «—block-size —apparent-size=1»
-с,

—total

Выводит общий результат
-D,

—dereference-args

Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке
-d, —max-depth=N Выводит общий размер только до N-го уровня (включительно) дерева каталогов
-h,

—human-readable

Выводит размеры в удобном для человека виде
-k Эквивалентно —block-size=1K
-L,

—dereference

Разыменовывает символьные ссылки
-l,

—count-links

Складывает размеры, если несколько жёстких ссылок
-m Эквивалентно —block-size=1M
-t,

—threshold=РАЗМЕР

Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно
—time Выводит время последнего изменения в каталоге и во всех подкаталогах
—time=АТРИБУТ Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения
—time-style=СТИЛЬ Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso

-X,

—exclude-from=ФАЙЛ

Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа
—exclude=ШАБЛОН Исключает элементы, совпадающие с шаблоном
-x,

—one-file-system

Пропускать каталоги из других систем

Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.

Примеры использования команды du

Узнать общий размер каталога (например с резервными копиями):

$ du -sh ~/home/backups
19G  /home/john/backups

Вывод размеров всех подкаталогов (рекурсивно):

$ du -h ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

С учётом файлов:

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

С фильтрацией в зависимости от размера файла/каталога:

$ du -ha -t2M ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
5,0M /home/john/backups

Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
1,5M /home/john/backups/vhosts

Команда ls linux

Как обычно, в таких статьях сначала нам нужно понять синтаксис команды, чтобы вы знали как правильно ее использовать. На самом деле, синтаксис очень прост, вы набираете саму команду, а после нее путь к папке, содержимое которой хотите посмотреть. Если вы запустите команду без пути, то она выдаст содержимое текущего каталога:

$ ls опции/путь/к/папке

Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:

  • -a – отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
  • -A – не отображать ссылку на текущую папку и корневую папку . и ..;
  • –author – выводить создателя файла в режиме подробного списка;
  • -b – выводить Escape последовательности вместо непечатаемых символов;
  • –block-size – выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
  • -B – не выводить резервные копии, их имена начинаются с ~;
  • -c – сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
  • -C – выводить колонками;
  • –color – включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
  • -d – выводить только директории, без их содержимого, полезно при рекурсивном выводе;
  • -D – использовать режим вывода, совместимый с Emacs;
  • -f – не сортировать;
  • -F – показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
  • –full-time – показывать подробную информацию, плюс вся информация о времени в формате ISO;
  • -g – показывать подробную информацию, но кроме владельца файла;
  • –group-directories-first – сначала отображать директории, а уже потом файлы;
  • -G – не выводить имена групп;
  • -h – выводить размеры папок в удобном для чтения формате;
  • -H – открывать символические ссылки при рекурсивном использовании;
  • –hide – не отображать файлы, которые начинаются с указанного символа;
  • -i – отображать номер индекса inode, в которой хранится этот файл;
  • -l – выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
  • -L – для символических ссылок отображать информацию о файле, на который они ссылаются;
  • -m – разделять элементы списка запятой;
  • -n – выводить UID и GID вместо имени и группы пользователя;
  • -N – выводить имена как есть, не обрабатывать контролирующие последовательности;
  • -Q – брать имена папок и файлов в кавычки;
  • -r – обратный порядок сортировки;
  • -R – рекурсивно отображать содержимое поддиректорий;
  • -s – выводить размер файла в блоках;
  • -S – сортировать по размеру, сначала большие;
  • -t – сортировать по времени последней модификации;
  • -u – сортировать по времени последнего доступа;
  • -U – не сортировать;
  • -X – сортировать по алфавиту;
  • -Z – отображать информацию о расширениях SELinux;
  • -1 – отображать один файл на одну строку.

Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.

Понимание прав доступа к файлам и владения в Linux

Теперь, когда вы знаете основную терминологию прав доступа и владения файлами, пришло время увидеть это в действии.

Вы можете использовать команду stat или команду ls для проверки прав доступа к файлу.

Если вы используете команду ls с опцией -l для файла, вы увидите такой вывод:

Позвольте мне объяснить этот вывод более подробно на примере данного изображения:

Позвольте мне подробнее объяснить весь вывод:

  • Тип файла : обозначает тип файла. d означает каталог, — означает обычный файл, l означает символическую ссылку.
  • Полномочия . В этом поле отображается набор разрешений для файла. Я объясню это подробно в следующем разделе.
  • Жесткие ссылки : показывает, есть ли в файле жесткие ссылки. Количество по умолчанию — один.
  • Пользователь : пользователь, которому принадлежат файлы.
  • Группа : группа, которая имеет доступ к этому файлу. Только одна группа может быть владельцем файла одновременно.
  • Размер файла : Размер файла в байтах.
  • Время изменения : дата и время последнего изменения файла.
  • Имя файла : Очевидно, имя файла или каталога.

Теперь, когда мы рассмотрели вывод команды ls -l, давайте сосредоточимся на части прав доступа к файлу.

В приведенной выше команде вы видите такое разрешение файла в девятизначном формате :

Каждая буква обозначает конкретное разрешение:

  • r: разрешение на чтение
  • w: разрешение на запись
  • x: разрешение на выполнение файла
  • -: разрешение не установлено

Права доступа всегда в порядке чтения, записи и выполнения, т. е. rwx. И затем эти разрешения устанавливаются для всех трех типов владельцев (см. Раздел «Владение») в порядке «Пользователь», «Группа» и «Другое».

Эта картина объяснит немного лучше:

Итак, если вы посмотрите на рисунок выше, вы можете сказать следующее о правах доступа к файлам:

  • Файл имеет права на чтение, запись и выполнение для владельца пользователя. Но кто этот владелец использования файла? У вас есть эта информация в выводе ls -l (т.е. пользователь abhi).
  • Файл имеет права на чтение и запись для группы, но не для выполнения. Какая это группа? У вас есть информация о группе в выходных данных команды ls -l (то есть группа itsfoss).
  • Файл имеет разрешение на чтение только для Других, то есть для всех, кто имеет доступ к системе. Вам не нужно знать, что это за другой, потому что «другой» означает всех пользователей.

Теперь, если вы снова увидите всю команду ls -l, вы можете прочитать права доступа к файлу и владельца вместе.

Файл agatha.txt принадлежит пользователю abhi, и abhi имеет права на чтение, запись и выполнение. Все члены группы istfoss имеют доступ для чтения и записи к этому файлу, в то время как все остальные имеют доступ только для чтения к этому файлу.

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

Один пользователь может быть членом нескольких групп, но только основная группа пользователя является владельцем группы файла, созданного пользователем. Первичную группу пользователя можно найти с помощью команды id -gn <username> . Оставьте имя пользователя пустым, если вы пытаетесь найти свою основную группу.

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

Управление процессами в Linux

Сердцем всех Linux и Unix-подобных операционных систем является ядро. Среди его многочисленных обязанностей — распределение системных ресурсов, таких как оперативная память и процессорное время. Они должны выполняться в режиме реального времени, чтобы все запущенные процессы получали свою справедливую долю в соответствии с приоритетом каждой задачи.

Иногда задачи могут блокироваться, или зацикливаться, или перестать отвечать по другим причинам. Или они могут продолжать работать, но сожрать слишком много процессорного времени или оперативной памяти, или вести себя каким-то похожим антисоциальным образом. Иногда задачи должны быть убиты для сохранения стабильной работы системы. Разумеется, первых шаг заключается в идентификации проблемного процесса.

Но, возможно, у вас вообще нет проблем с задачами или производительностью. Возможно, вам просто любопытно, какие процессы выполняются на вашем компьютере, и вы хотели бы заглянуть под капот операционной системы Linux. Команда ps удовлетворяет обоим этим требованиям. Она даёт вам снимок того, что происходит внутри вашего компьютера «прямо сейчас».

ps достаточно гибка, чтобы предоставить вам именно ту информацию, которая вам нужна, именно в том формате, который вам нравится. На самом деле, у ps очень много опций. Опции, описанные здесь, будут соответствовать большинству обычных потребностей. Если вы хотите изучить команду ps ещё глубже, то знакомство с командой ps в этой статье и примеры использования ps облегчат вам восприятие справочной страницы.

Сортировка вывода по столбцам

Вы можете отсортировать вывод, используя опцию —sort. Давайте отсортируем вывод по столбцу CPU:

ps -e -o pcpu,pmem,args --sort -pcpu | less

Дефис «-» означает сортировку от большего к меньшему.

Чтобы увидеть десять самых ресурсоемких процессов, передайте вывод через команду head:

ps -e -o pcpu,args,args --sort -pcpu | head -10

Мы получаем отсортированный, усечённый список.

Если мы добавим больше столбцов для вывода, мы сможем отсортировать по большему количеству столбцов.

Без дефиса или со знаком «+» сортировка выполняется от меньшего к большему.

Добавим в сортировку столбец pmem:

ps -e -o pcpu,pmem,args --sort -pcpu,pmem

Сортировка по-прежнему выполняется по значению pcpu, но если для каких-то записей эти значения одинаковые, то выполняется сортировка по pmem для этих значений.

Давайте сделаем вывод результатов немного более полезным и добавим столбец идентификатора процесса (pid), чтобы мы могли видеть номер процесса каждого процесса в нашем листинге.

ps -e -o pid,pcpu,pmem,args --sort -pcpu,pmem | head -10

Теперь мы можем идентифицировать процессы.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: