如何使用 linux 系统调用编写一个 c 程序,它提供有关可用内存、已用内存、内核版本的输出?

How to write a c++ program using linux system call which gives output about free memory, used memory, kernel version?

在Linux系统上,使用C程序,我需要想办法打印出以下信息:

  • 正在使用的内存量。
  • 可用内存量
  • Linux 内核版本。
  • 谁能帮我解决这个问题?

    谢谢。

    相关讨论

    • 您可以使用 standard c 代替 c++ 吗?
    • 这有帮助吗? stackoverflow.com/questions/13883606/…
    • 这是一个非常令人困惑和不清楚的问题。你说的内存是什么?"可用内存量"非常含糊。

    您可以使用 proc(5) 文件系统(它特定于 Linux)。您可能会顺序读取 /proc/meminfo 和 /proc/version (这些伪文件应该顺序读取,而且速度很快,不涉及任何磁盘 IO)。您也可以使用 uname(2) 作为内核版本。

    如果要查询自己进程的虚拟内存,请使用 /proc/self/maps

    如果您需要有关 malloc(3) 的信息,请使用 malloc_info(3), mallinfo(3), malloc_stats(3), ...

    mlwn 的评论也正确地提到了 sysconf(3)

    另见 linuxatemyram。并阅读高级 Linux 编程

    可以限制已使用(或可用)的内存,请参阅此答案。使用 getrlimit(2) 查询资源限制。

    PS。您提到的正在使用的内存量非常含糊!还要注意 syscalls(2) 与 system(3)

    不同


    以上是如何使用 linux 系统调用编写一个 c 程序,它提供有关可用内存、已用内存、内核版本的输出?的全部内容。
    THE END
    分享
    二维码
    < <上一篇
    下一篇>>