How to write a c++ program using linux system call which gives output about free memory, used memory, kernel version?
在Linux系统上,使用C程序,我需要想办法打印出以下信息:
谁能帮我解决这个问题?
谢谢。
- 您可以使用 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/