gpt4 book ai didi

c - 在系统调用中获取 Cpu 和内存信息

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:26 26 4
gpt4 key购买 nike

我试图在系统调用中获取当前进程的 CPU 和内存使用信息。我可以使用以下方法获取当前进程名称、pid 和 uid:

current->comm //process name
current->pid //process id
current_uid() //uid

但似乎仅此而已。(我正在使用内核 3.2.0-24-generic)

正如我从 Memory usage of current process in C 中看到的那样,读取(vfs_read)和解析 /proc/pid/status 似乎是获取内存和 cpu 使用率的唯一选择。

是否有更好的方法来获取这些信息,或者我是否在正确的轨道上?

我还首先将我的代码作为内核模块进行测试,因为系统调用和内核模块都在内核空间中运行。这也是不好的做法吗?

最佳答案

current->mm是存放所有内存信息的地方。
current->mm->mmap 是进程的内存映射列表,因此您可以对其进行迭代并查看在那里找到了什么。

current->utimecurrent->stime 可能对获取 CPU 信息有用。

关于c - 在系统调用中获取 Cpu 和内存信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com