Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cpu_watcher 项目:目标是分析cpu 的运行状态 #551

Open
5 of 13 tasks
helight opened this issue Oct 20, 2023 · 4 comments
Open
5 of 13 tasks

cpu_watcher 项目:目标是分析cpu 的运行状态 #551

helight opened this issue Oct 20, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@helight
Copy link
Member

helight commented Oct 20, 2023

cpu_watcher 项目:目标是分析cpu 的运行状态,将BCC_sar(lmp/eBPF_Supermarket/CPU_Subsystem/BCC_sar/src
/sar)改写成libbpf版本,目前libbpf版本的框架已经写好,放在了lmp/eBPF_Supermarket/CPU_Subsystem/libbpf_sar文件夹中。该工具应实现以下数据的采集:

  • proc/s: 每秒创建的进程数。此数值是通过fork数来统计的。
  • cswch/s: 每秒上下文切换数。
  • runqlen:各cpu的运行队列总长度。
  • irqtime:CPU响应irq中断所占用的时间。注意这是所有CPU时间的叠加,平均到每个CPU应该除以CPU个数。
  • softirq: CPU执行softirq所占用的时间,是所有CPU的叠加。softirq:irq中断的下半部,优先级比irq低,可被irq抢占。
  • idle: CPU处于空闲状态的时间,所有CPU的叠加。
  • kthread: CPU执行内核线程所占用的时间,所有CPU的叠加。不包括IDLE-0进程,因为此进程只执行空闲指令使CPU闲置。
  • sysc: CPU执行用户程序系统调用(syscall)所占用的时间,所有CPU的叠加。
  • utime:CPU执行普通用户进程时,花在用户态的时间,是所有CPU的叠加。

项目技术要求:

  • 熟悉Linux内核CPU子系统的技术原理
  • 熟悉Linux eBPF技术,能够通过eBPF实现内核事件的解析

运行要求:

TODO

@helight helight added the enhancement New feature or request label Oct 20, 2023
@vvzxy
Copy link
Contributor

vvzxy commented Oct 20, 2023

1.熟悉ebpf流程概念
2.运行了libbpf-bootstrap中的示例代码bootstrap,做了代码注释。

@albertxu216
Copy link
Contributor

运行libbpf-strapt中的示例程序对bootstrap中的三个文件进行逐行注释,并在此基础上改编打印task_struct字段中更多信息。

@zhangzihengya
Copy link
Contributor

  1. 提交整合后的进程画像工具,并整理工具
  2. 更新进程画像中的子仓库,解决uprobe中模糊匹配的问题

@albertxu216
Copy link
Contributor

pr在这里:#575

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants