当前位置: 首页 > news >正文

5.92 BCC工具之bitesize.py解读

一,工具简介

bitesize工具按进程名称显示请求块大小的I/O分布。

它通过监视磁盘上的读取和写入操作,记录每个操作的大小。再将跟踪到的 I/O 操作按照大小分组,通常是以 2 的幂次方(如 4K、8K、16K 等)进行划分,并统计每个大小范围内的 I/O 操作数量。

二,代码示例

#!/usr/bin/env pythonfrom bcc import BPF
from time import sleepbpf_text = """
#include <uapi/linux/ptrace.h>
#include <linux/blkdev.h>struct proc_key_t {char name[TASK_COMM_LEN];u64 slot;
};BPF_HISTOGRAM(dist, struct proc_key_t);TRACEPOINT_PROBE(block, block_rq_issue)
{struct proc_key_t key = {.slot = bpf_log2l(args->bytes / 1024)};bpf_probe_read_kernel(&key.name, sizeof(key.name), args->comm);dist.atomic_increment(key);return 0;
}
"""# load BPF program
b = BPF(text=bpf_text)print("Tracing block I/O... Hit Ctrl-C to end.")# trace until Ctrl-C
dist = b.get_table("dist")try:sleep(99999999)
except KeyboardInterrupt:
http://www.lryc.cn/news/326118.html

相关文章:

  • jupyter notebook导出含中文的pdf(LaTex安装和Pandoc、MiKTex安装)
  • 压力测试(QPS)及测试工具Locust
  • canal: 连接kafka (docker)
  • 45 对接海康视频九宫格的实现
  • 二-容量管理之容量水位
  • 计算机网络——数据链路层(差错控制)
  • 【搜索引擎1】Ubuntu通过deb方式安装ElasticSearch和Kibana、ik中文分词插件
  • 1.0 html(1)
  • 基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
  • 【机器学习之---数学】马尔科夫链
  • 教程3_图像的轮廓
  • 【Linux】-Linux下的编辑器Vim的模式命令大全及其自主配置方法
  • 基于SpringBoot和Vue的车辆管理系统的设计与实现
  • R折线图(自备)
  • web学习笔记(四十五)Node.js
  • 基于Gabor滤波器的指纹图像识别,Matlab实现
  • 55、Qt/事件机制相关学习20240326
  • Clip Converter - 视频在线下载方法
  • 【No.19】蓝桥杯简单数论上|模运算|快速幂|GCD|LCM|刷题统计|RSA解密|核桃的数量(C++)
  • 区块链安全之DDoS防护的重要性及其实施策略
  • 使用Spark单机版环境
  • 【分布式】——降级熔断限流
  • 代码随想录刷题笔记 Day 58 | 判断子序列 No.392 | 不同的子序列 No.115
  • 【C++11】thread线程库
  • 【OpenStack】创建系统(VM)实例镜像及实例创建方法
  • 灵途科技助力家电智能创新
  • Flask python :logging日志功能使用
  • ethers.js:sign(签名)
  • 使用npm i进行admin依赖安装的时候出现问题
  • 【Python笔记-FastAPI】定时任务实现(APScheduler)