4

Согласно этой веб-странице под названием «Команда определения времени и даты перезагрузки системы в Linux» я могу выполнить last reboot | head -1 чтобы увидеть, когда моя система была в последний раз перезагружена. Вывод, который я получаю, похож на вывод, который они предоставляют:

reboot   system boot  3.13.0-116-gener Thu Apr 13 14:12 - 20:09  (05:56)

Мой вопрос: что значит часть 14:12 - 20:09 ? Означает ли это, что система начала процесс перезагрузки в 14:12 и закончилась в 20:09? Потому что это кажется невероятным для меня.

2 ответа2

1

Это означает, что система загрузилась в 14:12 и была закрыта в 20:09 , общее время безотказной работы 5:56 .


TL; DR

В случае, когда это самая последняя запись, как в вопросе с | head -1 , время выключения - это текущее системное время, а время безотказной работы отражает, как долго система работает в данный момент. Все остальные строки в журнале показывают, если вы не используете head для ограничения вывода, показывают фактическое время выключения и время работы системы, начиная с указанной даты и времени.

Например, в моей системе last reboot | head -6 дает:

reboot   system boot  4.4.46-11-defaul Mon Apr 10 19:58 - 04:00 (5+08:00)
reboot   system boot  4.4.46-11-defaul Sat Apr  8 17:22 - 08:19 (1+14:56)
reboot   system boot  4.4.46-11-defaul Sat Apr  8 00:15 - 11:06  (10:51)
reboot   system boot  4.4.46-11-defaul Thu Apr  6 18:46 - 00:04 (1+05:18)
reboot   system boot  4.4.46-11-defaul Wed Apr  5 17:43 - 11:30  (17:46)
reboot   system boot  4.4.46-11-defaul Tue Apr  4 21:36 - 09:36  (12:00)

Это приводит к следующей последовательности, в обратном порядке:

    Booted     Shut Down    System up for 
------------  ------------  -------------
Apr  4 21:36  Apr  5 09:36          12:00
Apr  5 17:43  Apr  6 11:30          17:46
Apr  6 18:46  Apr  8 00:04    1 day 05:18
Apr  8 00:15  Apr  8 11:06          10:51
Apr  8 17:22  Apr 10 08:19    1 day 14:56
Apr 10 19:58  Still running  5 days 08:00 (so far)

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

Таким образом, вы правы в том, что маловероятно, что процесс перезагрузки начался в 14:12 и закончился в 8:09. Если бы это было правдой, пришло время сделать серьезную работу в вашей системе! Сколько времени занял процесс перезагрузки, не отражено в этих выходных данных, скорее, это то, как долго система работала с момента загрузки. last команда не дает эту информацию напрямую. Это, однако, дает записи, которые могут помочь вам определить, сколько времени занимает процесс, примерно.

Для этого вам нужно включить опцию -x которая добавляет записи runlevel системы и shutdown работы к выводу. Чтобы отфильтровать вывод, ищите как псевдопользователя reboot псевдопользователя runlevel . Чтобы добавить last секунды к отчетному времени, используйте опцию -F , которая расширяет ввод времени до полной даты и времени, включая секунды. Кроме того, для каждого процесса загрузки будет две записи, а не одна, поэтому вам нужно удвоить число, передаваемое команде head ; если я хочу последние 6 перезагрузок, как указано выше, мне нужно будет использовать -12 этот раз.

Выполнение last -xF reboot runlevel | head -12 дает:

runlevel (to lvl 5)   4.4.46-11-defaul Mon Apr 10 19:59:57 2017 - Sun Apr 16 04:00:28 2017 (5+08:00)   
reboot   system boot  4.4.46-11-defaul Mon Apr 10 19:58:40 2017 - Sun Apr 16 04:00:28 2017 (5+08:01)   
runlevel (to lvl 5)   4.4.46-11-defaul Sat Apr  8 17:23:57 2017 - Mon Apr 10 08:19:12 2017 (1+14:55)   
reboot   system boot  4.4.46-11-defaul Sat Apr  8 17:22:39 2017 - Mon Apr 10 08:19:12 2017 (1+14:56)   
runlevel (to lvl 5)   4.4.46-11-defaul Sat Apr  8 00:16:16 2017 - Sat Apr  8 11:06:55 2017  (10:50)    
reboot   system boot  4.4.46-11-defaul Sat Apr  8 00:15:02 2017 - Sat Apr  8 11:06:55 2017  (10:51)    
runlevel (to lvl 5)   4.4.46-11-defaul Thu Apr  6 18:47:55 2017 - Sat Apr  8 00:04:46 2017 (1+05:16)   
reboot   system boot  4.4.46-11-defaul Thu Apr  6 18:46:43 2017 - Sat Apr  8 00:04:46 2017 (1+05:18)   
runlevel (to lvl 5)   4.4.46-11-defaul Wed Apr  5 17:44:46 2017 - Thu Apr  6 11:30:26 2017  (17:45)    
reboot   system boot  4.4.46-11-defaul Wed Apr  5 17:43:40 2017 - Thu Apr  6 11:30:26 2017  (17:46)    
runlevel (to lvl 5)   4.4.46-11-defaul Tue Apr  4 21:37:25 2017 - Wed Apr  5 09:36:34 2017  (11:59)    
reboot   system boot  4.4.46-11-defaul Tue Apr  4 21:36:13 2017 - Wed Apr  5 09:36:34 2017  (12:00)    

Вычитая время перезагрузки из времени, когда система достигла уровня запуска 5 для каждого процесса перезагрузки, я получаю среднее время, близкое к 1 мин 15 сек. Имейте в виду, это не то, сколько времени занимает перезагрузка от включения до запуска уровня 5. Это время, которое требуется Linux для достижения уровня запуска 5 после того, как он получит контроль над системой. Время проверки POST и BIOS не входит в это. Чтобы найти это время, вам понадобятся часы, которые точно соответствуют времени системы, и запишите, когда вы нажимали кнопку питания, и сравните их с сообщенным временем начала процесса загрузки в last . Разница заключается в том, сколько времени компьютеру требуется для того, чтобы передать управление Linux.


Я признаю, что не знаю точно, в какой момент процесса загрузки соответствует зарегистрированное время. Я мог бы быть, когда загрузчик, возможно, GRUB, запущен, или это может быть, когда GRUB вызывает ядро загружено, или даже когда ядро загружено, и начинает загружать все остальное. Простое предположение с моей стороны говорит о том, что это когда GRUB называется. У меня небольшая задержка в меню GRUB, так как я почти всегда загружаюсь в одну и ту же систему и буду ждать ее, если загружусь во что-то еще. Тем не менее, я часто жду загрузки GRUB и обычно нажимаю Enter, пока не истечет задержка. Это может объяснить разницу в шесть секунд между минимальным и максимальным временем от загрузки до запуска уровня 5. Конечно, это только предположение с моей стороны.

0

Запустите last reboot -F и результат должен быть более четким. Опция -F означает:

Напечатайте полное время входа и выхода из системы и даты.

Таким образом, эти значения показывают промежуток времени между перезагрузками.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .