Fork me on GitHub

05 2022 档案

摘要:在读select、poll源码前,需要先了解的知识点: 等待队列 文件系统(主要是进程的打开文件描述符表以及struct file) poll机制 资源注册监听poll() → poll_wait(struct file *, wait_queue_t *, poll_table *pt) → pt 阅读全文
posted @ 2022-05-06 11:11 yooooooo 阅读(371) 评论(0) 推荐(0) 编辑
摘要:BPF,及伯克利包过滤器Berkeley Packet Filter,最初构想提出于 1992 年,其目的是为了提供一种过滤包的方法,并且要避免从内核空间到用户空间的无用的数据包复制行为。它最初是由从用户空间注入到内核的一个简单的字节码构成,它在那个位置利用一个校验器进行检查 —— 以避免内核崩溃或 阅读全文
posted @ 2022-05-02 09:24 yooooooo 阅读(654) 评论(0) 推荐(0) 编辑
摘要:在排查linux性能问题的时候我们有时候会发现 整体 CPU使用率 很高,但是绝大多是是在 sys 上的,usr上的CPU时间很少,这种就需要看看是内核空间在干什么了, 是系统在 系统调用太耗时还是其他原因倒是的sys使用率上升。 如果查看 系统调用时间 和 系统调用次数呢?bcc为 我们提供了这个 阅读全文
posted @ 2022-05-01 16:26 yooooooo 阅读(203) 评论(0) 推荐(0) 编辑
摘要:在实际工作中,偶尔会遇到系统的CPU使用率和系统平均负载很高,但却找不到高CPU的应用; 产生这个问题的原因:进程有可能在不断的崩溃、重启 通过uptime发现系统负载很高,但是通过top,mpstat,pidstat,perf等工具很难发现是什么进程导致了系统负载和CPU使用率很高; 注:通过上面 阅读全文
posted @ 2022-05-01 16:23 yooooooo 阅读(751) 评论(0) 推荐(0) 编辑
摘要:BCC(BPF编译器集合 )是用于创建足智多谋内核跟踪和操作程序一套功能强大的适当的工具和示例文件。 它采用扩展BPF( Berkeley包过滤器 ),最初被称为eBPF这是在Linux的3.15的新功能之一。 BCC / BPF - 用于Linux性能监视的动态跟踪工具 实际上,大多数由BCC使用 阅读全文
posted @ 2022-05-01 11:24 yooooooo 阅读(867) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示