概述
Tracepoint
是一种在 Linux 内核中插入的静态探测点,用于跟踪和调试内核行为。它允许开发者在特定位置插入代码,收集运行时信息,而不会显著影响性能。
原理
特性
- 静态探测点: 在内核预定义, 自定义的函数可以插入在这里
- 动态启用: 默认不启用, 减少性能开销
- 低开销
Tracepoint
是一种在 Linux 内核中插入的静态探测点,用于跟踪和调试内核行为。它允许开发者在特定位置插入代码,收集运行时信息,而不会显著影响性能。
bpftrace是一个基于eBPF的高级跟踪工具, 用于动态追踪Linux系统的行为和性能.
用于可以用简单的一行命令或者简洁的脚本,实现监控分析内核和用户空间程序的运行,而无需修改或者重新编译
sudo apt-get install bpftrace |
ld.so的路径存在于任意一个存在动态链接库的elf文件上的.interp setion中
# objdump -s -j .interp /bin/ls |
任何动态链接的程序都需要ld.so去启动,即直接执行一个动态链接库程序等价于执行 ld.so <program>
默认虚拟磁盘文件大体是在C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState
(以ubuntu2404为例)
将里面的vhdx移动到目标盘位置,比如 D:\wsl\24.04\
, 然后执行命令即可
wsl --unregister Ubuntu-24.04 |
GDB(GNU Debugger)是GNU项目下的一个强大的调试工具,用于调试各种程序,特别是那些用C、C++和其他编程语言(如go)编写的程序。
DB常用于以下几种场景:
ELF: Linux可执行文件的格式,ELF中包含多个段,有一些是gdb调试所需要的,比如.debug_*,里面存了行号之类的
公钥私钥是非对称加密中的概念。
在密码学中,密钥(key)是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。在对称密码学(或称密钥密码学)中,加密和解密用的是同一个钥匙,因此钥匙需要保密。而在公钥密码学(或称非对称密码学)中,加密和解密用的钥匙不同:通常一个是公开的,称为公钥;另一个保密,称为私钥。
私钥可以有多种表示形式,常见的有 PEM(Privacy Enhanced Mail)和 DER(Distinguished Encoding Rules)等。PEM 格式是一种基于 Base64 编码的表示形式,通常使用 -----BEGIN PRIVATE KEY-----
和 -----END PRIVATE KEY-----
包围。
-x 扩展信息
-m 使用MB单位
命令后跟数字x y 每x秒刷新, 显示y次
#每隔 2 秒显示一次详细的设备统计信息,共显示 5 次。 |
-c 显示cpu相关的信息
-p 指定特定设备信息,比如-p sda只展示sda下的\
sda
表示第一个SCSI磁盘设备。确保已安装 perf
和 FlameGraph
工具。
FlameGraph
通过以下命令下载
git clone https://github.com/brendangregg/FlameGraph.git |
perf
是一个强大的 Linux 性能分析工具,它可以用来收集和分析性能数据。
perf的命令有很多,下文将就其中常用的几条进行阐述
|