自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

从0到1,突破自己

努力创造自己的奇迹,而不是等待奇迹的发生。

  • 博客(823)
  • 资源 (44)
  • 收藏
  • 关注

原创 6.2 LIBBPF API(一,异常处理)

如果函数直接返回错误代码,它会使用0来表示成功,并使用负的错误代码来表示错误的原因。在这种情况下,应直接从返回值中检查错误代码,无需检查errno。如果函数返回一个指针,它会返回NULL来表示存在错误。在这种情况下,应检查errno来获取错误代码。当使用“libbpf 1.0模式”中的libbpf时,API函数可以通过两种方式返回错误。/* 请注意下面EINVAL和E2BIG的错误代码前没有负号。/* 相应地处理错误 */处理E2BIG错误 */处理EINVAL错误。

2024-04-11 22:43:21 1549

原创 5.120 BCC工具之zfsslower.py解读

zfsslower 显示慢于阈值的 ZFS 读取、写入、打开和 fsyncs 操作。

2024-04-11 22:42:52 1496

原创 5.119 BCC工具之zfsdist.py解读

ZFS 是一种高级的文件系统,设计用于存储大量数据并提供强大的数据完整性保证。zfsdist用于追踪 ZFS(Zettabyte File System)的读取、写入、打开和同步操作,并将其延迟以 2 的幂次直方图的形式进行汇总。

2024-04-10 08:09:19 1467

原创 5.118 BCC工具之xfsslower.py解读

xfsslower显示了XFS的读取、写入、打开和fsync操作,这些操作慢于一个阈值。

2024-04-10 08:08:48 399

原创 5.117 BCC工具之xfsdist.py解读

xfsdist 追踪 XFS 的读取、写入、打开和 fsyncs 操作,并将其延迟以 2 的幂次直方图的形式进行总结。

2024-04-09 07:47:17 248

原创 5.116 BCC工具之vfsstat.py解读

这追踪了一些常见的VFS调用,并每秒打印摘要。

2024-04-09 07:46:57 200

原创 5.115 BCC工具之vfscount.py解读

这通过追踪所有以“vfs_”开头的内核函数,计算了在此期间发生的VFS调用次数。默认情况下,时间为99999999秒。

2024-04-08 08:42:57 399

原创 5.114 BCC工具之nfsdist.py解读

nfsdist 追踪 NFS 读取、写入、打开和 getattr,并将其延迟概括为 2 的幂次方直方图。

2024-04-08 08:42:37 435

原创 5.113 BCC工具之nfsslower.py解读

NFS是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件。然而,由于网络延迟、服务器负载等原因,NFS操作可能会变得缓慢,从而影响系统性能。nfsslower显示慢于阈值的 NFS 读取、写入、打开和 getattr 操作。这有助于我们发现导致NFS性能下降的慢操作,并进一步分析其原因.该工具还可以追踪commit操作,这是NFS特有的,可能会非常慢。警告:这会对这些NFS操作(包括从文件系统缓存中的读取和写入)添加低开销的检测。这种读取和写入可能会非常频繁(取决于工作负载;

2024-04-06 10:55:00 362

原创 5.112 BCC工具之ext4slower.py解读

ext4slower可以显示慢于阈值的ext4读取、写入、打开和fsync操作。

2024-04-06 10:54:46 205

原创 5.111 BCC工具之ext4dist.py解读

ext4dist跟踪ext4的读取、写入、打开和fsync操作,并将其延迟总结为2的幂次方直方图。

2024-04-05 08:30:20 219

原创 5.110 BCC工具之btrfsslower.py解读

显示慢于阈值的 btrfs 读取、写入、打开和同步操作。

2024-04-05 08:29:53 392

原创 5.108 BCC工具之virtiostat.py解读

virtiostat程序用于跟踪virtio设备以分析IO操作和吞吐量。例如,客户端挂载了一个9pfs,而我们再也无法通过iostat命令获取IO统计信息。在这种情况下,我们只能从VIRTIO层而不是块层获取统计信息。示例。

2024-04-04 07:09:38 407

原创 5.107 BCC工具之mountsnoop.py解读

mountsnoop工具在系统范围内跟踪 mount() 和 umount 系统调用。

2024-04-04 07:09:13 23

原创 【基础篇】1.6 开发环境搭建

学习STM32的开发,我们需要选选择合适型号,STM32开发板。通过前面的博客,我们知道它通常包含了微控制器、外设接口和必要的电路组件。在搭建STM32开发环境时,开发者需要首先安装选定的IDE(如Keil MDK),然后安装相关的器件支持包,以确保对特定STM32型号的支持。此外,根据开发需求,可能还需要安装串口驱动、配置工具和其他辅助软件。下面我们一一了解下该专栏所用到的STM32和常见的开发工具。

2024-04-03 22:14:59 907

原创 5.106 BCC工具之mdflush.py解读

mdflush工具在md驱动程序级别跟踪刷新操作,并打印包括刷新时间在内的详细信息。

2024-04-03 12:28:33 174

原创 5.109 BCC工具之btrfsdist.py解读

btrfsdist追踪 btrfs 的读取、写入、打开和同步操作,并将它们的延迟以 2 的幂次直方图的形式进行汇总。

2024-04-03 12:28:13 216

原创 5.105 BCC工具之filetop.py解读

filetop显示了按文件进行的读取和写入操作,并提供进程详细信息。

2024-04-02 11:55:47 500

原创 5.104 BCC工具之fileslower.py解读

fileslower可以显示低于阈值的基于文件的同步读写情况。此脚本使用内核对VFS接口上的同步读取和写入的动态跟踪,以识别任何文件系统的慢文件读取和写入。它通过跟踪__vfs_read()和__vfs_write()函数,并过滤出同步I/O(通往new_sync_read()和new_sync_write()的路径)以及带有文件名的I/O来实现此功能。这种方法仅提供了两种文件系统请求类型的视图。通常还有许多其他类型:异步I/O、目录操作、文件句柄操作等,此工具并不包含这些。

2024-04-02 08:21:18 160

原创 5.103 BCC工具之filegone.py解读

filegone追踪文件消失的原因,无论是被删除还是被重命名。

2024-04-02 08:21:01 188

原创 5.102 BCC工具之filelife.py解读

filelife追踪短生命周期的文件:那些在追踪过程中被创建然后又被删除的文件。

2024-04-01 07:00:48 536

原创 5.101 BCC工具之dirtop.py解读

dirtop工具按目录显示读取和写入情况.

2024-04-01 07:00:30 144

原创 5.100 BCC工具之biosnoop.py解读

biosnoop用于追踪块设备 I/O(磁盘 I/O),并为每个 I/O 打印一行输出。

2024-03-31 07:48:49 648

原创 5.99 BCC工具之biopattern.py解读

识别随机/顺序磁盘访问模式。

2024-03-31 07:48:25 131

原创 【基础篇】1.1 单片机的概念

单片机(Single-Chip Microcomputer),也被称为单片微控制器,是一种集成电路芯片。它采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上,构成了一个小而完善的微型计算机系统。简单来说,单片机就是一台微型计算机。我们来看下我们常见的计算机和单片机在结构上有什么区别?

2024-03-30 12:39:52 207

原创 5.98 BCC工具之biotop.py解读

biotop工具是“block device I/O top”的缩写,它会统计哪些进程正在执行磁盘I/O操作。它通过收集和分析内核的块设备I/O事件,提供了实时的磁盘I/O性能数据。它类似于top命令,但是专注于显示哪些进程正在执行磁盘I/O操作,并按照I/O量进行排序。这使得开发人员和系统管理员能够快速识别出最活跃的磁盘I/O消费者,并了解它们对系统性能的影响。

2024-03-30 06:08:31 79

原创 5.97 BCC工具之biolatency.py解读

biolatency 跟踪块设备 I/O(磁盘 I/O),并记录 I/O 延迟(时间)的分布,通过 Ctrl-C 可以停止跟踪,并将其以直方图的形式打印出来。它通过动态追踪blk_族函数(与块设备相关的内核函数)并记录函数的变化,从而收集块设备I/O的延迟信息。它记录I/O延迟的分布,并以直方图的形式显示出来,使用户能够直观地了解I/O操作的性能特征。

2024-03-30 06:08:11 71

原创 4.1 ebpf基础能力拆解

想要彻底理解eBPF的能力,我们就需要知道它主要的应用场景是什么?无论eBPF的演进路线,还是开发者生态,eBPF主要的两大应用场景分别是网络优化和性能监控。网络优化这里不必赘述,因为它是从BPF演进拓展而来,而BPF则因网络而存在。本章节主要来聊性能监控。ebpf虽然让开发者们具备了在不改动内核的情况下可以编写运行在内核中的ebpf程序,但这是有条件的。

2024-03-29 22:07:35 168

原创 5.96 BCC工具之dcstat.py解读

dcstat工具用于显示目录项缓存(dcache)的统计信息。

2024-03-29 07:02:02 137

原创 5.95 BCC工具之dcsnoop.py解读

dcsnoop工具用于追踪目录项缓存(dcache)的查找,并可用于 dcstat(8) 之外的进一步调查。由于 dcache 查找可能很频繁,因此输出可能很冗长。默认情况下,仅显示查找失败的情况。

2024-03-29 07:01:42 103

原创 5.94 BCC工具之cachetop.py解读

cachetop工具用于监视和统计系统页面缓存(page cache)的使用情况。页面缓存是Linux内核用于存储从磁盘读取的文件数据的内存区域,它可以显著提高文件访问的速度,因为当数据已经缓存在内存中时,应用程序无需再次从磁盘读取。cachetop则是类似于传统的top命令,但它专注于显示与页面缓存相关的实时统计信息。这些信息包括每个进程的缓存命中、未命中以及相应的命中率。这对于了解哪些进程在大量使用页面缓存、哪些进程可能由于频繁的缓存未命中而遭受性能下降等问题非常有用。当我们使用cachetop。

2024-03-28 07:13:20 123

原创 5.93 BCC工具之cachestat.py解读

对文件系统页面缓存的命中与未命中次数。页面缓存是Linux内核用来缓存磁盘上文件数据的一种内存区域,当应用程序请求读取文件时,如果数据已经在页面缓存中,那么就可以直接从内存中获取,而无需从磁盘上读取,从而大大提高了文件访问的速度。而cachestat工具则专门用于监控和报告Linux文件系统页面缓存(page cache)的命中与未命中情况。它通过定期采样页面缓存的相关统计信息,并计算出命中率(hits)和未命中率(misses),帮助我们了解系统缓存的使用情况和性能表现。

2024-03-28 07:12:34 161

原创 6.3 LIBBPF API(二,libbpf.h函数)

函数介绍

2024-03-27 06:20:05 308

原创 5.92 BCC工具之bitesize.py解读

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

2024-03-27 06:19:24 108

原创 5.91 BCC工具之tcpcong.py解读

tcpcong工具跟踪Linux内核的TCP拥塞控制状态的变化事件,然后计算每个状态的持续时间并进行记录,最后以表格或直方图的形式将其打印出来,可用于评估TCP拥塞算法的性能。TCP拥塞控制是确保网络稳定性和性能的关键机制之一,它通过动态调整发送速率来避免网络拥塞。当TCP连接经历不同的拥塞状态(如慢启动、拥塞避免、快速重传和快速恢复)时,这些状态更改会触发相应的内核函数。我们可以利用tcpcong将这些内核函数的调用事件捕获并进行分析。

2024-03-27 06:19:03 135

原创 5.90 BCC工具之tcptracer.py解读

tcptracer工具用于追踪执行TCP连接的内核函数(例如,通过connect()或accept()系统调用)以及关闭它们(显式地或者如果进程死亡)。它可以跟踪 TCP 连接的建立、关闭以及数据传输过程中的关键事件。它监视诸如connect()accept()close()等系统调用的执行,以及 TCP 状态的变化(如 SYN、SYN+ACK、ESTABLISHED、FIN、RST 等)。

2024-03-26 06:55:04 513

原创 5.89 BCC工具之tcptop.py解读

tcptop工具按主机和端口统计吞吐量。它能够实时地监控和分析网络上的TCP连接,提供关于哪些主机和端口正在使用最多的网络带宽的信息。这对于网络管理员和系统调优人员来说是非常有用的,因为它可以帮助他们快速识别出网络上的高流量源,进而进行相应的优化或处理。tcptop的工作原理是通过动态追踪内核中的TCP相关函数,收集关于TCP连接吞吐量的数据,并按照吞吐量进行排序和显示。它可以根据需要显示IPv4和IPv6的TCP连接信息,并可以按照发送或接收的吞吐量进行排序。此外,tcptop。

2024-03-26 06:54:43 370

原创 6.1 LIBBPF简介

libbpf和BPF CO-RE可以让我们专心做一个开发者,及时你对内核的理解没有那么深入。它同样大大减少了内核版本的差异给我们带来的痛苦,实现了真正意义上的Build once,Run everywhere。Libbpf扮演BPF程序加载器的角色,执行平凡的设置工作(重定位、加载和验证BPF程序、创建BPF映射、附加到BPF钩子等),让开发者只需要关注所开发BPF程序的正确性和性能。

2024-03-26 06:54:18 506

原创 5.88 BCC工具之tcpsynbl.py解读

tcpsynbl工具以直方图的形式显示SYN到达时的TCP SYN积压大小。这可以让我们了解应用程序距离达到积压限制并丢弃SYN(导致SYN重传产生性能问题)还有多远。TCP SYN 数据包则通常用于启动 TCP 三次握手过程的第一次握手。

2024-03-25 07:14:48 342

原创 5.87 BCC工具之tcpsubnet.py解读

根据目标子网统计吞吐量。这个工具只在IPv4环境下工作,并允许用户指定特定的子网进行监控。通过使用tcpsubnet,用户可以实时地观察特定子网内TCP流量的变化和分布情况,从而帮助进行网络性能调优、故障排查和安全监控等工作。

2024-03-25 07:14:26 200

收发彩信,自动打开数据连接

两个文件分别为在源码基础上进行修改后的文件,主要用于解决关闭数据连接后无法收发彩信

2014-07-07

视图缩放案例

这个小案例是主要用来演示一下如何点击一个图片按钮,对缩略图进行缩放操作。

2014-07-07

app之间交互(ComponentName)

这里简单介绍了以一下如何使用ComponentName来帮助我们实现App之间的交互

2014-07-03

版本控制器git-1.9.4(msysgit Windows版)

这里为大家提供了当前最新版本的msysgit版本控制器

2014-06-28

Android中app之间的交互

这里简单介绍了,不同app之间如何使用隐式intent进行交互

2014-06-27

Fragment与Activity使用接口进行交互

这里简单介绍了如何使用接口,来使fragment发送消息给activity

2014-06-27

Fragment与Activity使用Bundle传递数据

这里简单描述了以下Activity使用Bundle向Fragment传递数据

2014-06-27

Fragment与Activity使用Handler进行交互

这里简单介绍了Fragment和Activity使用Handler方式进行交互。

2014-06-27

实现TextView自由复制

自己参照Android系统源码中短信模块中代码,写了一个Demo程序实现TextView的自由复制,共享给大家参考。

2014-06-26

android手机USB驱动

用以android手机链接电脑用的USB驱动程序

2013-01-12

毕业设计-VC职工工资管理系统

这是一款毕业设计源程序和论文,希望能对大家的毕业设计有所帮助。

2013-01-12

毕业设计-( ASP精品课程网站

这是一款毕业设计源程序和论文,希望能对大家的毕业设计有所帮助。

2013-01-12

Asp电子商务网站

希望能对大家的毕业设计有所帮助,至少能起到一个参考资料,希望大家都能过关啦。

2013-01-12

andricoFacebook客户端

这是一款模仿andricoFacebook客户端的源程序代码

2013-01-11

Baidu_map(百度地图)Android平台开发指南文档

这是为android开发者在使用百度地图开放的api时,需要参考的开发指南文档

2013-01-10

android电子商城(客户端+服务器)

这是一个电子商城的android源代码,其中包括客户端和服务器,经过测试。希望能对初学者有所帮助。

2013-01-08

微博客户端源代码

这是一个关于微博客户端开发的源程序,对于初学者来说是一个易于模仿的案例,对初学者来说很有帮助,贵在模仿

2013-01-08

Android的一个仿酷狗播放器的应用程序源码

一个仿酷狗播放器的音乐播放器源码,对于初学者来说是一个很好的模仿例子

2013-01-03

p2p终结者局域网软件

想在局域网里游刃有余吗?下载来使用使用知道了。

2012-12-06

android工程师面试内部题

想转行做安卓的同志们,面试有这个,offer就不是问题了。

2012-12-06

pageowner 解析工具

该工具组合可以对pageowner进行不同维度的解析,包括下面3各方面: 1.通过关键函数对pageowner进行解析、统计,最终以进程级展示进程的cma内存使用情况,并通过占用size自动排序。 2.该工具可用于分拆pageowner信息,并以进程和线程进行分别拆分,用于更细力度的pageowner拆分。 3.该工具用于解析整个pageowner中各个进程的内存使用情况 解析工具的开发是为了在我们拆分内存布局的时候能够提高效率,不容易出错,达到事半功倍的效果。 在使用过程中,遇到任何问题,都可以免费提供支持。

2022-05-13

linux_kernel_config 中文手册(2.6.28)

linux_kernel_config 中文手册(2.6.28)

2022-04-30

opengrok-1.7.30.tar.gz

opengrok-1.7.30.tar.gz

2022-03-27

syslinux-6.03.tar.xz

syslinux-6.03.tar.xz

2022-03-27

jdk-11.0.14_linux-x64_bin.deb

jdk-11.0.14_linux-x64_bin.deb

2022-03-27

busybox-1.35.0.tar.bz2

busybox-1.35.0.tar.bz2

2022-03-27

高度精简LinuxOS

自定义打包的LinuxOS,该OS只有10M左右,仅包含LinuxKernel+Busybox;

2022-03-26

车载SOA软件架构技术规范

车载SOA软件架构技术规范

2022-03-20

ardupilot-master.zip开源固件源码

ardupilot-master.zip开源固件源码

2022-02-07

MP Mission Planner 飞控地面控制站

MP Mission Planner 飞控地面控制站

2022-01-29

helloworld.zip

HelloWorld

2021-05-11

SELinux4AndroidO

该文档包含如下: m4.pdf/configuring-selinux-policy-report.pdf/implementing-selinux-as-linux-security-module-report.pdf/The_SELinux_Notebook-4th_Edition.pdf/SEAndroid-NDSS2013.pdf/abs2014_seforandroid_smalley.pdf/SELinux_Treble.pdf

2018-02-05

recovery_l10n

这是Google官方发布的一款工具,用来合成recovery模式下文本本地化显示的工具,我已经编译成功,源码也一起上传了,有兴趣的同学可以下载下来研究一下!

2015-04-10

apktool+smali2java

apktool+smali2java方式反编译

2015-03-18

recovery下edify介绍

这个文件是有关edify脚本的一个简单介绍,是从源码中直接复制下来的

2015-02-13

解决彩信gif格式图附件不能正常播放

解决添加gif格式图片为彩信附件,预览不能正常播放,原因为图片由于超出附件大小限制而被压缩

2014-07-26

解决Android4.3彩信幻灯片中gif格式图片不能正常播放

本代码包解决了在Android4.3中MMS模块中添加幻灯片附件,在预览幻灯片的时候,gif格式图片不能够正常播放

2014-07-26

Android4.3系统内置音乐播放器

这是从android4.3中的源码抽取出来的,而且编译运行成功,有兴趣的朋友可以拿来研究一下。

2014-07-11

模仿Android4.3版本短信设置功能

在Android系统源码中所有应用的设置界面都使用preference,该资源源码是模仿短信app中设置界面的UI和部分功能。

2014-07-11

SmartTools

这个小工具可以自动帮助我们插入短信,通话记录,联系人,浏览器书签

2014-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除