linux 如何保存系统状态信息?

how does linux keep system status information?

我知道在<sys/sysinfo.h>头文件下有sysinfo结构存储信息。

但我想知道,Linux 是如何保存这些信息的?它是如何初始化结构的?它是什么时候创建的以及如何存储的?它是如何更新的?我们可以吗?自定义结构?

是否有保存这些信息的文件!?。 是否有其他方法来获取系统状态信息? 我们能不能绕过这个直接从硬件获取状态呢

(如果可能附上资源)

sysinfo() 返回的信息是根据需要从内核中的各种来源收集的。无一出处。

该结构不可修改,因为它是共享 kernel/userspace 接口的一部分。一般来说,如果你想向用户空间公开额外的数据,应该将其发布为 /proc 节点。

sysinfo() 返回的所有信息都可以从 procfs 中的其他来源获得:

  • info->uptime: /proc/uptime
  • info->loads: /proc/loadavg
  • info->totalram,等等:/proc/meminfo
  • info->procs: /proc 本身(计算编号的子目录!)