如何使用 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)

    不同


    来源:https://www.codenong.com/26867954/

    微信公众号
    手机浏览(小程序)

    Warning: get_headers(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(): Failed to enable crypto in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57

    Warning: get_headers(https://static.shanhubei.com/qrcode/qrcode_viewid_9921.jpg): failed to open stream: operation failed in /mydata/web/wwwshanhubei/web/wp-content/themes/shanhuke/single.php on line 57
    0
    分享到:
    没有账号? 忘记密码?