Введение
В этом лабораторном занятии представлены основные инструменты Linux для управления процессами и системными ресурсами. Начальный пользователь научится использовать команды ps, top и free для мониторинга и анализа системных процессов и использования памяти. Эти инструменты являются фундаментальными для понимания того, что происходит в вашей системе Linux.
Результаты
По окончанию этого лабораторного занятия вы сможете:
- Списывать и фильтровать процессы с использованием
ps - Мониторить процессы в режиме реального времени с помощью
top - Проверять использование системной памяти с помощью
free
Показать все процессы
Начнем с того, что выведем список всех процессов, запущенных в системе, с использованием команды ps.
Откройте терминал. Вы должны находиться в директории
/home/labex/project. Если вы не уверены, всегда можно проверить текущую директорию, введяpwdи нажав Enter.Выполните следующую команду для вывода списка всех процессов:
ps -eЭто отобразит список всех процессов, включая их идентификатор процесса (PID), терминал (TTY), время CPU и имя команды.
Отведите немного времени на изучение вывода. Вы увидите системные и пользовательские процессы. Вот что означает каждая колонка:
- PID: Уникальный идентификатор процесса
- TTY: Тип терминала, связанный с процессом
- TIME: Количество времени CPU, использованное процессом
- CMD: Имя команды или программы
Не беспокойтесь, если вы видите незнакомые имена процессов; многие из них - это системные процессы, которые работают в фоновом режиме.
Показать подробную информацию о процессах
Теперь давайте получим более подробную информацию о процессах.
Выполните следующую команду:
ps auxЭта команда показывает подробный список всех процессов, включая пользователя, запустившего процесс, использование CPU и памяти, а также полную командную строку.
Вывод может быть довольно длинным. Вы можете использовать команду
lessдля более удобного просмотра:ps aux | lessЭто перенаправляет вывод команды
ps auxвless, позволяя вам прокручивать его.В просмотрщике
less:- Используйте стрелки вверх и вниз для прокрутки.
- Нажмите
Space, чтобы перейти на одну страницу вперед. - Нажмите
b, чтобы перейти на одну страницу назад. - Нажмите
q, чтобы выйти из просмотрщикаless, когда закончите.
Давайте разберем, что вы видите:
- USER: Владелец процесса
- PID: Идентификатор процесса
- %CPU: Использование CPU
- %MEM: Использование памяти
- VSZ: Размер виртуальной памяти
- RSS: Resident Set Size (используемая несмещенная физическая память)
- TTY: Тип терминала
- STAT: Состояние процесса
- START: Время запуска процесса
- TIME: Совокупное время CPU
- COMMAND: Команда со всеми ее аргументами
Не беспокойтесь, если вы сейчас не понимаете все эти термины. По мере накопления опыта вы будете знакомы с ними.
Фильтрация процессов по пользователю
Вы можете отфильтровать процессы так, чтобы отображались только те, которые принадлежат определенному пользователю. Это полезно, когда вы хотите сосредоточиться на процессах, принадлежащих конкретному пользовательскому аккаунту.
Чтобы увидеть процессы, принадлежащие пользователю root, выполните:
ps -u rootПользователь root - это суперпользователь в системах Linux, обладающий полными правами доступа к системе. Многие системные процессы запускаются от имени учетной записи root.
Чтобы увидеть процессы, принадлежащие вашему текущему пользователю (labex), выполните:
ps -u labexЭто покажет вам все процессы, которые вы запустили от имени своей пользовательской учетной записи.
Сравните выводы этих двух команд. Вероятно, вы увидите больше процессов от имени root, чем от имени вашей пользовательской учетной записи.
Мониторинг процессов в реальном времени с помощью top
Команда top предоставляет динамическое, реальное представление о запущенных процессах. Это как живой монитор вашей системы.
Выполните следующую команду:
topВы увидите постоянно обновляемый экран с системными процессами, отсортированными по использованию CPU. Экран разделен на две основные части:
- Верхняя часть - это сводка, показывающая системную информацию.
- Список процессов, где отображаются детали по каждому отдельному процессу.
Во время работы с
topвы можете использовать различные команды:- Нажмите
M, чтобы отсортировать процессы по использованию памяти вместо CPU. - Нажмите
P, чтобы вернуться к сортировке по использованию CPU. - Нажмите
T, чтобы отсортировать по времени выполнения. - Нажмите
N, чтобы отсортировать по PID. - Используйте стрелки вверх и вниз для навигации по списку процессов.
- Нажмите
q, чтобы выйти изtop.
- Нажмите
В сводке содержится важная системная информация:
- Время работы системы и средняя загрузка.
- Сводка по задачам (всего, запущенных, спящих, остановленных, зомби).
- Состояния CPU (пользовательское, системное, простой и т.д.).
- Использование памяти (всего, свободно, использовано, буферы/кеш).
- Использование свопа.
Отведите немного времени на изучение top. Это мощный инструмент для понимания того, что происходит в вашей системе в режиме реального времени.
Проверить использование системной памяти
Команда free позволяет быстро и легко проверить использование системной памяти.
Выполните следующую команду, чтобы увидеть использование памяти в человекочитаемом формате:
free -hОпция
-hозначает "human-readable" (человекочитаемый), которая отображает размеры в степенях 1024 (например, 1K, 234M, 2G).Вы увидите вывод, похожий на следующий:
total used free shared buff/cache available Mem: 7.7G 4.1G 287M 624M 3.3G 2.7G Swap: 2.0G 506M 1.5GДавайте разберем, что означает каждая строка и столбец:
- Mem: Эта строка показывает информацию о RAM вашей системы.
- Swap: Эта строка показывает информацию о вашем своп - пространстве (виртуальной памяти).
Столбцы:
- total: Общая установленная память.
- used: Память, которая в настоящее время используется.
- free: Неиспользуемая память.
- shared: Память, разделяемая несколькими процессами.
- buff/cache: Память, используемая буферами ядра, кэшем страниц и слябами.
- available: Оценка того, сколько памяти доступно для запуска новых приложений без переключения на своп.
Не пугайтесь, если ваша "свободная" память кажется небольшой. Linux использует доступную память для кэширования диска, чтобы улучшить производительность системы, но эта память может быть возвращена, если приложениям это понадобится.
Резюме
В этом практическом занятии вы узнали, как использовать основные инструменты управления процессами в Linux:
psдля перечисления и фильтрации процессовtopдля мониторинга процессов в режиме реального времениfreeдля проверки использования системной памяти
Эти команды являются обязательными для системного администрирования и устранения неполадок. Они позволяют вам понять, что запущено на вашей системе, как используются ресурсы, и могут помочь вам выявить потенциальные проблемы.
По мере того, как вы будете чувствовать себя более уверенно при работе с этими инструментами, вы можете изучить дополнительные параметры и комбинировать их с другими командами Linux для более продвинутого анализа системы. Например:
- Используйте
psвместе сgrepдля поиска конкретных процессов. - Научитесь интерпретировать подробную информацию в
topдля выявления ресурсоемких приложений. - Используйте
freeв скриптах для мониторинга использования памяти в течение времени.
Помните, что практика делает мастером! Не стесняйтесь самостоятельно экспериментировать с этими командами, чтобы углубить свое понимание управления процессами в Linux. Чем чаще вы будете использовать эти инструменты, тем более интуитивно понятными они станут.



