/proc/stat 中缺少 btime 我该如何修复它?

/proc/stat 中缺少 btime 我该如何修复它?

错过 btime 是什么意思?

# ps aux | grep ssh
missing btime in /proc/stat

我在一个嵌入式系统(ts-7600)上通过 UART 运行 Debian 版本。

#uname -a
Linux ts7600-4aa86d 2.6.35.3-571-gcca29a0+ #2 PREEMPT Thu Jan 22 12:21:50 PST 2015 armv5tejl GNU/Linux

我想我应该看看 btime,并在 Linux 论坛上看到了一个帖子:

# cat /proc/stat␍␊
[21:14:57:236] cpu  3081 0 3263 217610 305 0 2 0 0 0␍␊
[21:14:57:236] cpu0 3081 0 3263 217610 305 0 2 0 0 0␍␊
[21:14:57:236] intr 307219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 805 294809 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 2525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9034 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0␍␊
[21:14:57:293] ctxt 558977␍␊
[21:14:57:293] btime 0␍␊
[21:14:57:293] processes 2774␍␊
[21:14:57:293] procs_running 1␍␊
[21:14:57:293] procs_blocked 0␍␊
[21:14:57:293] softirq 37073 0 25258 1 695 0 0 634 0 564 9921␍␊

好吧,所以btime是0,我也看了时间,那也是零。我需要解决这个问题吗?我只是想让 ssh 能解决这个问题。或者我怎样才能让时间发挥作用?该设备有一个集成的 RTC。

答案1

好吧,我有一个解决方案。 (仍然对各种事情感到困惑,但我得到了我想要的信息ps aux

我设定了日期date -s '2020-11-25 10:34:56' 然后跑了

# ps aux | grep ssh
  root      2574  0.0  0.4   6252  1040 ?        Ss   12:04   0:00 /usr/sbin/sshd
  root      2663  0.0  0.2   2032   628 pts/0    S+   12:35   0:00 grep ssh

我的意思是我并不真正关心 RTC 是否工作,只是看起来 ps 命令需要一个时间来参考。我的意思是,我的解释可能有些偏差,但无论如何我得到了我想要的。

答案2

ps需要 btime 来计算出进程的正确启动时间。进程统计信息为您提供从系统启动时开始的时间(btime),但这对当前时间没有意义。

我很惊讶你会收到这条消息missing btime in /proc/stat。当scanf("btime %lu")无法找到数字,但 0 是一个数字时,就会发生这种情况。

相关内容