5 宣之于口

尚未进行身份认证

我要认证

^-^

等级
TA的排名 7k+

使用BPF监视JVM应用程序

使用BPF监视JVM应用程序参考文章: Fast and secure JVM application monitoring with BPF magic and JVM-BPF一、Linux跟踪工具的概况X轴为信息详细程度,Y轴为易于使用情况ftrace 是一种内置机制,其已包含在Linux中。它是一种跟踪性能问题等的工具。但是,它并非设计用于Java。它不能用于跟踪许多有趣的Jav...

2020-04-22 07:29:49

【Linux】BCC 工具编写

【Linux】BCC 工具编写本实验参照该实验手册:linux-tracing-workshop一、 setuidsnoop查看 killsnoop.py, 这是一个简单的基于kprobe的工具,可将kprobe和kretprobe附加到该sys_kill函数. 在Enter探针中,记录了有关终止信号和目标进程的数据,在Return探针中,记录了操作结果,并将自定义结构提交给用户空间以进行显...

2020-04-09 06:26:34

【Linux】BCC 工具使用

【Linux】BCC 工具使用本实验参照该实验手册:linux-tracing-workshop1. 缓慢的文件I/O尝试跟踪由于I/O操作缓慢而表现出延迟的应用程序编译并运行应用程序: 首先运行以下命令来编译logger应用程序,让其在后台执行[root@rumia linux-tracing-workshop-master]$ gcc -g -fno-omit-frame-point...

2020-04-09 06:25:57

【Linux】BCC 工具安装

【Linux】BCC 工具安装GIT地址一、安装步骤1. 安装构建依赖项sudo yum install -y epel-releasesudo yum update -ysudo yum groupinstall -y "Development tools"sudo yum install -y elfutils-libelf-devel cmake3 git bison flex...

2020-04-04 05:30:49

【Linux】async-profiler

async-profiler本文涉及的图片取自Profiling JVM Applications in Productionasync-profiler是一个对系统性能影响很少的Java采样分析器,不会存在安全点偏差问题. 它具有特定于HotSpot的API,以收集堆栈跟踪并跟踪内存分配。探查器可与基于HotSpot JVM的OpenJDK,Oracle JDK和其他Java运行时一起使用。...

2020-03-11 08:23:29

【Linux】Perf

PerfPerf是内置于Linux内核源码树中的性能剖析(profiling)工具,它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析,常用于性能瓶颈的查找与热点代码的定位.一、术语硬件性能事件(Hardware event): 由 PMU硬件产生的事件, 在特定的条件下探测性能事件是否发生以及发生的次数, 比如 cache 命中软件性能事件...

2020-03-11 06:03:46

【JAVA】JVM 调优

【JAVA】JVM 调优翻译文章:JVM Tuning: How to Prepare Your Environment for Performance Tuning当涉及到Java应用程序时,要确保它们以最高性能运行,至关重要的是缩小代码与运行它的虚拟机之间的资源差距(如果有的话)。做到这一点的方法是深入并微调Java虚拟机一、介绍1. 什么是JVM调优?成本 –考虑到您的环境,您可...

2020-03-04 06:42:48

【Linux】BPF学习笔记 - bpftrace开发[7]

【BPF】学习笔记 - bpftrace开发[7]bpftrace是基于BPF和BCC构建的开源跟踪程序。 与BCC一样,bpftrace附带了许多性能工具和支持文档。 但是,它也提供了高级编程语言,允许创建功能强大的单行代码和简短的工具。 bpftrace是使用自定义单行代码和简短脚本的临时工具的理想选择,而BCC是复杂工具和守护程序的理想选择BPFTRACE 组件bpftrace包含有...

2020-03-03 07:35:14

【Linux】BPF学习笔记 - BCC工具[6]

【BPF】学习笔记 - BCC工具[6]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》BPF编译器集合(BCC)是一个开放源代码项目,其中包含用于构建BPF软件的编译器框架和库。 它是BPF的主要前端项目,受到BPF开发人员的支持. BCC还包含70多个现成的BPF性能分析和故障排除工具BCC 组件: BCC包含有关工具,手册页和示例文件的...

2020-03-02 09:33:51

【Linux】BPF学习笔记 - 性能分析方法论[5]

【BPF】学习笔记 - 性能分析方法论[5]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、工作负载建议执行工作负载特征的步骤:谁造成了负载: PID,进程名称,UID,IP地址…为什么称负载: 代码路径,堆栈跟踪,火焰图负载是多少: IOPS,吞吐量,类型负载如何随时间变化: 每个时间间隔的摘要示例: 这表明在跟踪时,名为"...

2020-03-02 07:29:33

【机器学习】逻辑回归

逻辑回归分类问题在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的。我们从二元的分类问题开始讨论。我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(pos...

2020-03-01 08:49:54

【机器学习】线性回归

线性回归一、单变量线性回归1. 假设函数(Hypothesis Function)因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题: hθ(x)=θ0+θ1xh_\theta(x) = \theta_0 + \theta_1xhθ​(x)=θ0​+θ1​x假设有以下的训练集, 我们假设θ0=2θ_0=2θ0​=2 和 θ1=2θ_1=2θ1​=2, 则假设函数为 y=2+...

2020-03-01 08:45:39

【Linux】BPF学习笔记 - 调试技术[4]

【BPF】学习笔记 - 调试技术[4]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、 KPROBESkprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。它可以在生产环境中实时进行此操作,无需重新重启系统或以任何特殊模式运行内核。这意味着我们可以在内核的绝大多数指定函数中动态的插入探测点(动态...

2020-03-01 08:36:13

【Linux】BPF学习笔记 - 堆栈跟踪[3]

【BPF】学习笔记 - 堆栈跟踪[3]一、简介堆栈跟踪,也称为堆栈回溯跟踪或调用跟踪,是显示代码流的一系列函数. 堆栈跟踪可以用于了解导致事件的代码路径, 以及对内核和用户代码进行性能分析(profiling)以观察执行时间.举例说明: func_a() -> func_b() -> func_c()二、堆栈遍历BPF提供了用于记录堆栈跟踪的特殊映射类型,并且可以使用基于帧...

2020-03-01 06:32:16

【Linux】BPF学习笔记 - 技术背景[2]

【BPF】学习笔记 - 技术背景[2]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、CLASSICAL BPF (BPF)用户使用针对BPF虚拟机的指令集(也称为BPF字节码)定义过滤器表达式, 然后传递给内核以供解释器执行. 这使得过滤可以在内核级别进行,而无需将每个数据包复制到用户级别的进程中, 提升了tcpdump使用的数据包筛选的...

2020-03-01 03:41:15

【Linux】BPF学习笔记 - 基本概念 [1]

【BPF】学习笔记 - 基本概念 [1]本学习笔记来自于阅读 Brendan Gregg的《BPF Performance Tools》一、介绍数据包筛选器(BPF) 是一种内核执行引擎,用于处理虚拟指令集,并且最近进行了扩展(又称eBPF),这使BPF变成了通用执行引擎,可用于多种用途,包括创建高级性能分析工具。这是一种在各种内核和应用程序事件上运行小型程序的方法。 如果您熟悉JavaS...

2020-02-29 06:50:53

【数据库】数据库管理系统(Database Management Systems)

数据库管理系统(Database Management Systems)数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性一、DMBS抽象层次(DBMS abstraction levels)物理层(physical schema): 详细描述复杂的底层数据结构逻辑层(log...

2020-02-21 06:54:31

【数据库】关系数据库(Relational Databases)

关系数据库(Relational Databases)关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据Relational Query LanguagesTuple Relational Calculus (TRC)Relational Algebra (RA)SQL举例说明:零、名词概念1. 基数 和 参数数cardin...

2020-02-21 06:49:26

【其他】RDF与SPARQL

RDF(Resource Description Framework)RDF在线验证器RDF(资源描述框架)是描述网络资源的 W3C 标准<?xml version="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:si="http://www.runoob.co...

2020-02-21 06:44:58

【其他】XML及Schema

XML一、XMLXML document 描述了 structure and data.has internal representation of a tree: DOM tree or infosetis divided into smaller pieces called elements1. 基本原则XML 有着严格的错误处理(XML has draconian erro...

2020-02-21 06:43:41

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。