#include <stdio.h>
#include <sys/utsname.h>
#include <sys/sysinfo.h>

int main(void) {
    struct utsname u;
    struct sysinfo s;
    uname(&u);
    sysinfo(&s);

    printf("===== 系统信息 =====\n");
    printf("主机名:   %s\n", u.nodename);
    printf("操作系统: %s %s\n", u.sysname, u.release);
    printf("架构:     %s\n", u.machine);
    printf("运行时长: %ld 小时 %ld 分钟\n", s.uptime / 3600, s.uptime % 3600 / 60);
    printf("总内存:   %lu MB\n", s.totalram * s.mem_unit / 1024 / 1024);
    printf("空闲内存: %lu MB\n", s.freeram * s.mem_unit / 1024 / 1024);
    printf("进程数:   %d\n", s.procs);
    return 0;
}
