5

Linux 中是否有任何 Mac OS X 等效的头文件sysinfo.h。我正在将代码从 Linux 移植到 Mac,但struct sysinfo找不到结构。

编辑:==更多信息== 在 Linux 平台中,我使用<sys/sysinfo.h>在 Mac 中找不到的头文件。通过在 Linux 中包含标头,我执行以下操作: struct sysinfo s; sysinfo(&s);

结果给了我一些系统相关的信息。现在,当我将我的项目从 Linux 移植到 Mac 时,我想知道 Mac 是否提供任何类似的功能。

请帮忙。

提前致谢。

4

1 回答 1

13

sysinfo在 Mac OS X 中最接近的等价物是sysctl/MIB。它不sysinfo直接返回结构,但该结构中的大多数值都可用作 sysctl 键。例如:

  • uptime近似为kern.boottime(尽管这反映了实际的启动时间,而不是运行时间)
  • loads可作为vm.loadavg
  • totalram= hw.memsize(以字节为单位)
  • freeram, sharedram, 并且bufferram很复杂,因为 XNU 内存管理器的工作方式与 Linux 不同。我不确定是否暴露了最接近的等效值(“活动”和“非活动”内存)。
  • totalswapfreeswap反映在vm.swapusage. (但请注意,OS X 动态分配交换空间。)
  • procs似乎没有任何等价物。
  • totalhigh并且freehigh特定于 i386 Linux。
于 2012-09-21T03:36:56.253 回答