как занять общее рабочее время системы за день?

Я должен занять общее рабочее время системы через день. Это означает, займите время между, включают и завершают работу и также вычитают время системы, были, приостанавливают. Окончательный результат должен быть общим рабочим временем через день. Я попробовал некоторое внешнее программное обеспечение и мои собственные основанные на команде операции, но все отказавший. Как я могу вычислить это. Есть ли какой-либо путь? Я попробовал идею получить результат как это:

  • питание системы вовремя: "время"
  • система приостанавливает в: "время"
  • система просыпается в: "время"
  • система, закрытая побежденный в: "время"
  • общий рабочий час: ((система, закрытая побежденный - питание системы на) - (различие между временем сна и просыпаются во время)),

Я думаю, что это - огромная задача. U может помочь мне?

3
задан 11 July 2015 в 22:17

2 ответа

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

$ suspendtime
Oct 31 05:55:19 to Oct 31 16:54:26 lasting 39,547 seconds
Oct 31 23:21:21 to Nov 01 04:29:12 lasting 18,471 seconds
Nov 01 05:51:27 to Nov 01 17:08:34 lasting 40,627 seconds
Nov 02 00:01:33 to Nov 02 10:28:46 lasting 37,633 seconds
Nov 02 18:15:59 to Nov 02 19:10:14 lasting 3,255 seconds
Nov 02 21:17:33 to Nov 03 05:31:54 lasting 33,261 seconds
Nov 03 12:06:39 to Nov 03 14:22:50 lasting 8,171 seconds
Nov 03 22:28:12 to Nov 04 04:17:13 lasting 20,941 seconds
Nov 04 05:49:40 to Nov 04 16:48:52 lasting 39,552 seconds
Nov 04 21:45:48 to Nov 05 04:19:26 lasting 23,618 seconds
Nov 05 05:52:05 to Nov 05 16:32:38 lasting 38,433 seconds
Nov 05 21:12:18 to Nov 06 04:16:50 lasting 25,472 seconds
Nov 06 05:50:45 to Nov 06 16:22:54 lasting 37,929 seconds

Linux uptime 574,835 seconds (6 Days 15 Hours 40 Minutes 35 Seconds)
13 Suspends 366,910 seconds (4 Days 5 Hours 55 Minutes 10 Seconds)
Real uptime 207,925 seconds (2 Days 9 Hours 45 Minutes 25 Seconds)

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

0
ответ дан 1 December 2019 в 23:03

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

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

Пример 1:

$ uptime
 11:58:46 up  3:43,  2 users,  load average: 0.00, 0.01, 0.05
$ cat /proc/timer_list | grep "now at"
now at 12734872068331 nsecs

Так время работы = (3 * 60 + 43) * 60 = 13,3800 секунд. Активное время = 12 735 секунд. Поэтому Приостановленное время = 13,300 - 12,735 = 645 секунд

Или, просто посмотрите на время смещения для каждого ЦП для получения его приостановленного времени непосредственно:

$ cat /proc/timer_list | grep -A 1 "ktime_get_boottime"
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs
--
  .get_time:   ktime_get_boottime
  .offset:     668016000993 nsecs

Или 668 секунд для каждого ЦП.
, Почему эти два метода отличаются на 23 секунды? Поскольку время работы только перечислено к минуте. Так, чтобы ответ был действительно 645 +59 - 0 секунд (или, завися, если время работы округляется, 645 + - 30 секунд.

Так для того, что Вы, кажется, хотите выполненный это во время завершения работы:

$ cat /proc/timer_list | grep "now at"
now at 25561396304263 nsecs

и делят то число на 3.6e12 (т.е. 7,1 часов активное время)

0
ответ дан 1 December 2019 в 23:03

Другие вопросы по тегам:

Похожие вопросы: