Linux сколько времени работает процесс

Содержание
  1. How to find uptime of a linux process
  2. Как проверить время выполнения процесса в Linux
  3. Проверка времени процесса Linux с помощью Gnomon
  4. Установка Gnomon
  5. Использование Gnomon
  6. Доступны следующие варианты параметров:
  7. Проверка времени запущенного процесса с помощью команды ps
  8. Использование команды time в Ubuntu
  9. Заключение
  10. Как узнать, как долго длится процесс в Linux
  11. Узнать, как долго длится процесс в Linux
  12. You may also like
  13. 📜 Чтение файла построчно на Bash
  14. 📧 В чем разница между IMAP и POP3
  15. ✔️ Как управлять контейнерами LXD от имени обычного.
  16. 📜 Руководство для начинающих по созданию первого пакета.
  17. Феноменальная популярность электроники Xiaomi: основные причины
  18. 📜 Получение вчерашней даты в Bash: Практическое руководство
  19. Использование специальных гелей при мышечных болях
  20. 📦 Как расширить/увеличить файловую систему VxFS на Linux
  21. Услуги по размещению серверного оборудования в ЦОД
  22. Для чего выполняется ИТ консалтинг на предприятиях?
  23. Leave a Comment Cancel Reply
  24. • Свежие записи
  25. • Категории
  26. • Теги
  27. • itsecforu.ru
  28. • Страны посетителей
  29. IT is good

How to find uptime of a linux process

As «uptime» has several meanings, here is a useful command.

ps -eo pid,comm,lstart,etime,time,args 

This command lists all processes with several different time-related columns. It has the following columns:

PID COMMAND STARTED ELAPSED TIME COMMAND 

PID = Process ID
first COMMAND = only the command name without options and without arguments
STARTED = the absolute time the process was started
ELAPSED = elapsed time since the process was started (wall clock time), format [[dd-]hh:]mm:ss TIME = cumulative CPU time, «[dd-]hh:mm:ss» format
second COMMAND = again the command, this time with all its provided options and arguments

If you have a limited version of ps such as is found in busybox , you can get the process start time by looking at the timestamp of /proc/ . For example, if the pid you want to look at is 55.

# ls -al /proc | grep 55 dr-xr-xr-x 7 root root 0 May 21 05:53 55 

. and then compare it with the current date.

# date Thu May 22 03:00:47 EDT 2014 

can generate the etimes= with proc entries like etime=$(date -d «$(stat -c %y /proc/$ | cut -d ‘ ‘ -f 1,2)» +%s); echo «$(date +%s) — $» | bc -l

1234 being the process id.

example with two processes started at the same hour minute seconds but not the same milliseconds:

$ stat /proc/9355 . Access: 2017-11-13 17:46:39.778791165 +0100 Modify: 2017-11-13 17:46:39.778791165 +0100 Change: 2017-11-13 17:46:39.778791165 +0100 $ stat /proc/9209 . Access: 2017-11-13 17:46:39.621790420 +0100 Modify: 2017-11-13 17:46:39.621790420 +0100 Change: 2017-11-13 17:46:39.621790420 +0100 

yes, too old and yet too hard stuff. I tried with the above proposed «stat» method but what if I had «touch»-ed the PID proc dir yesterday? This means my year-old process is shown with yesterday’s time stamp. Nah, not what I need 🙁

In the newer ones, it’s simple:

ps -o etimes -p ELAPSED 339521 

as simple as that. Time is present in seconds. Do whatever you need it for. With some older boxes, situation is harder, since there’s no etimes. One could rely on:

ps -o etime -p ELAPSED 76-03:26:15 

which look a «a bit» weird since it’s in dd-hh:mm:ss format. Not suitable for further calculation. I would have preferred it in seconds, hence I used this one:

ps -o etime -p --no-headers | awk -F '(:)|(-)' 'BEGIN;=1;i--) s=s+a[i]*$i>END' 339544 

do not parse the output of etime because busybox 1.29.3 changed the format. use the stat + /proc method instead

Читайте также:  Install chrome linux sudo

Such a simple thing is not properly answered after 5 years?

I don’t think you can accurately get milliseconds. eg. if you see man procfs and see /proc/$$/stat which has field 22 as startime, which is in «clock ticks», you would have something more precise, but clock ticks aren’t going at a perfectly constant rate (relative to ‘wall clock time’) and will be off. sleeping and certain things (ntpd I guess) offset it. For example on a machine running ntpd, with 8 days uptime and has never slept, dmesg -T has the same problem (I think. ), and you can see it here:

# date; echo h > /proc/sysrq-trigger; dmesg -T | tail -n1 ; date Fri Mar 3 10:26:17 CET 2017 [Fri Mar 3 10:26:16 2017] sysrq: SysRq : HELP : loglevel(0-9) reboot(b) crash(c) terminate-all-tasks(e) memory-full-oom-kill(f) kill-all-tasks(i) thaw-filesystems(j) sak(k) show-backtrace-all-active-cpus(l) show-memory-usage(m) nice-all-RT-tasks(n) poweroff(o) show-registers(p) show-all-timers(q) unraw(r) sync(s) show-task-states(t) unmount(u) force-fb(V) show-blocked-tasks(w) Fri Mar 3 10:26:17 CET 2017 
# example pid here is just your shell pid=$$ # current unix time (seconds since epoch [1970-01-01 00:00:00 UTC]) now=$(date +%s) # process start unix time (also seconds since epoch) # I'm fairly sure this is the right way to get the start time in a machine readable way (unlike ps). but could be wrong start=$(stat -c %Y /proc/"$pid") # simple subtraction (both are in UTC, so it works) age=$((now-start)) printf "that process has run for %s seconds\n" "$age" 

Источник

Как проверить время выполнения процесса в Linux

Вы задавались вопросом, как найти время выполнения процесса в системе Linux или Unix? Это руководство покажет вам несколько инструментов, которые могут пригодиться при попытке найти время выполнения процесса в Linux.

Иногда приходится работать с медленно выполняющимися процессами. Медленным интернетом или запущенной программой, для которой необходимо отследить время выполнения. Давайте рассмотрим лучшие инструменты, которые вам стоит попробовать для этого.

Проверка времени процесса Linux с помощью Gnomon

Gnomon — это утилита, используемая для аннотирования протоколов консоли временными метками и поиска медленных процессов в системе Linux. Этот инструмент полезен для поиска долго выполняющихся процессов, когда вы хотите получить справку о том, что занимает так много времени.

Установка Gnomon

Так как Gnomon — это инструмент который написан на Node.js, в вашей системе должен быть установлен Node.js. Он необходим для установки gnomon с помощью менеджера пакетов npm. После того как инструмент npm будет установлен в вашей системе Linux. Перейдите к установке Gnomon с помощью команды:

$ npm install -g gnomon
/usr/local/bin/gnomon -> /usr/local/lib/node_modules/gnomon/bin/gnomon
+ gnomon@1.5.0
added 56 packages in 13.076s

Использование Gnomon

Чтобы добавить метку времени к каждой строке, нужно передать команду в gnomon. Это покажет, сколько времени заняло выполнение процесса. По умолчанию gnomon отображает секунды, прошедшие между каждой строкой, но это можно настроить.

Читайте также:  Realtek wifi adapter linux

Использование Gnomon

Посмотрите на приведенный ниже пример, который показывает время, затраченное на выполнение 5 раз запроса ping к серверу google DNS.

Пример который показывает время затраченное на выполнение запроса ping

Общее время составляет 3,3842 секунды.

Доступны следующие варианты параметров:

Ниже приведен список доступных вариантов:

Тип временной метки для отображения.
elapsed-line: Количество секунд, в течение которых отображаемая строка была последней.
elapsed-total: Количество секунд с начала процесса.
absolute: Абсолютная временная метка в UTC.

Пример использования Gnomon

-f | —format=»format»: Форматирует абсолютную временную метку, используя строки формата даты PHP. Если тип — elapsed-line или elapsed-total, этот параметр игнорируется. По умолчанию используется формат «H:i:s.u O«.

Пример отключения обновления в реальном времени:

Gnomon Отключение обновления в реальном времени

-h | —high=seconds : Высокий порог

-m | —medium=seconds : Средний порог. Работает так же, как и высокий порог, описанный выше, но вместо этого окрашивает метку времени в яркий цвет.

Проверка времени запущенного процесса с помощью команды ps

Вы можете использовать команду ps для проверки времени работы определенного процесса. Сначала нужно найти идентификатор процесса, а затем использовать его для поиска.

Чтобы определить идентификатор процесса, вы можете использовать такой инструмент, как pidof

Далее используйте ps с опциями -o etime, чтобы узнать время работы.

Опция etime отображает прошедшее время с момента запуска процесса в виде [[DD-]hh:]mm: ss. Из приведенного выше примера следует, что процесс выполняется 5 дней, 11 часов и 3 минуты. Используйте опцию etimes, чтобы получить прошедшее время в секундах.

Этот параметр команды также можно использовать для нескольких процессов. В примере ниже будет показано время запуска и время выполнения всех процессов на моем сервере Ubuntu.

Время запуска и время выполнения всех процессов на сервере Ubuntu

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

STARTED — Время, когда процесс был запущен.

ELAPSED — Общее время работы процесса.

COMMAND — Обработка выполненной команды.

Использование команды time в Ubuntu

Команда time сообщает сколько времени заняло выполнение команды в системе Linux. Вы можете установить ее, если она отсутствует в системе Ubuntu. Для этого используйте следующую команду.

Использование команда time:

Выход времени будет иметь:

  • Истекшее реальное время между вызовом команды и ее завершением.
  • Процессорное время пользователя.
  • Системное процессорное время.

Рассмотрим следующий пример для проверки использования диска в каталоге /root.

# time du -sh /root/

464K /root/
real 0m0.007s
user 0m0.002s

Из вывода видно, что фактическое время выполнения команды составляет 0m0.007s.

Давайте сделаем еще один, пинг на 8.8.8.8.

Еще одна проверка пинг с командой time

Фактическое время выполнения составляет 2,059 секунды.

Заключение

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

Источник

Как узнать, как долго длится процесс в Linux

Вы когда-нибудь хотели узнать, как долго процесс запускается в вашем Linux-боксе?

Это краткое руководство поможет вам узнать время работы активного процесса.

Вам не нужны никакие приложения для мониторинга.

В Unix-подобных операционных системах существует команда ps, которая используется для отображения информации об активных процессах.

Используя команду ps, мы можем легко узнать, как долго работает процесс.

Узнать, как долго длится процесс в Linux

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

Мы будем использовать следующие два ключевых слова, чтобы найти время работы активного процесса.

  • etime – прошедшее время с момента запуска процесса в виде [[DD-] hh:] mm: ss.
  • etimes – прошедшее время с момента запуска процесса в секундах.
Читайте также:  Astra linux minimal install

Во-первых, вам нужно узнать PID процесса. Следующая команда отображает PID процесса dhcpcd.

Как видно из вышеприведенного вывода, 8299 является PID процесса dhcpcd.

Теперь мы можем узнать, как долго этот процесс выполнялся с помощью команды:

$ ps -p 8299 -o etime ELAPSED 04:05:37

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

$ ps -p 8299 -o etimes ELAPSED 14749

Find out how long a process has been running in Linux

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

ps -eo pid,comm,lstart,etime,time,args
ps -eo pid,comm,lstart,etimes,time,args

Первая команда отображает время безотказной работы всех процессов Linux в формате [[DD-] hh:] mm: ss, а на последнем отображает время безотказной работы в секундах.

Вот пример вывода второй команды.

uptime of all processes in Linux

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

  • PID – идентификатор процесса
  • COMMAND (второй столбец) – имя команды без параметров и / или аргументов.
  • STARTED – абсолютное время начала процесса.
  • ELAPSED – Истекшее время с момента запуска процесса в виде [[dd-] hh:] mm: ss.
  • TIME – суммарное время процессора, “[dd-] hh: mm: ss” format.
  • COMMAND (последний столбец) – имя команды со всеми ее опциями и аргументами.

Для получения дополнительной информации о команде ps проверьте страницы руководства.

И это все на данный момент. Теперь вы знаете, как узнать, как долго работает процесс в вашей Linux-системе. Надеюсь это поможет. Я скоро буду здесь с другим полезным руководством.

itisgood
4 способа сохранить выполнение команды после выхода из сеанса SSH
Как запускать команду Linux каждые X секунд навсегда

You may also like

📜 Чтение файла построчно на Bash

📧 В чем разница между IMAP и POP3

✔️ Как управлять контейнерами LXD от имени обычного.

📜 Руководство для начинающих по созданию первого пакета.

Феноменальная популярность электроники Xiaomi: основные причины

📜 Получение вчерашней даты в Bash: Практическое руководство

Использование специальных гелей при мышечных болях

📦 Как расширить/увеличить файловую систему VxFS на Linux

Услуги по размещению серверного оборудования в ЦОД

Для чего выполняется ИТ консалтинг на предприятиях?

Leave a Comment Cancel Reply

• Свежие записи

• Категории

• Теги

• itsecforu.ru

• Страны посетителей

IT is good

В этой статье вы узнаете, как удалить удаленный Git-репозиторий. Процесс прост, но его полезно запомнить, чтобы избежать неожиданностей в будущем. Git – это…

В 11-й версии своей операционной системы Microsoft серьезно переработала интерфейс и убрала несколько привычных функций. Нововведения не всем пришлись по душе. Мы дадим…

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

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

Вторичное жильё выгоднее для молодых семей, желающих приобрести свою первую квартиру. Сталкиваясь с ипотечным кредитованием, можно избежать много лишней суеты и проблем, если…

Источник

Оцените статью
Adblock
detector