c - 如何计算旧内核上的自愿上下文切换

标签 c linux linux-kernel proc

我想查找给定 pid 的自愿上下文切换数量。

我可以使用/proc/pid/status 找到此信息,但非自愿和自愿上下文切换信息是从内核 2.6.23 添加的。

我必须在旧内核上获取此信息。我怎样才能做到这一点 ? 我的内核版本是 -- 2.6.18

proc 条目的手册页提到了此信息的内核版本 -- http://man7.org/linux/man-pages/man5/proc.5.html

最佳答案

据我所知,这个旧内核还不支持 TRACE EVENTS。 所以,也许你应该破解你的内核)))。例如。在struct task_struct中添加计数器,并在上下文切换时递增。

关于c - 如何计算旧内核上的自愿上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25854124/

相关文章:

c - libqrencode 生成一些 android/ios 阅读器无法读取的二维码

Cloud9 IDE 和 C 编程

c - 这种对 int64_t 的处理是 GCC 和 Clang 错误吗?

linux - 为什么每次从内核模块读取时 CR3 寄存器内容都不同?

linux - 如何从 inode /路径名中找到一个 dentry?

c - 从c中的字符串中删除空格

c - 在 C 中为非空 void* 指针赋值的正确方法应该是什么?

linux - 如何在 linux 系统中为可执行文件设置图标(或 .ico 文件)?

linux - 如何识别Linux机器的调度算法和抢占/非抢占性质?

linux - 构建简单的字符设备,但设备驱动程序文件不会写入或读取