- 博客(10)
- 资源 (17)
- 收藏
- 关注
原创 fuse用户态文件系统安装
1 下载FUSEGitHub地址:https://github.com/libfuse/libfuse在FUSE的GitHub页面上下载最新Release版本libfuse 3.8.0 https://github.com/libfuse/libfuse/archive/fuse-3.8.0.tar.gz2 编译安装FUSE2.1 编译准备工作推荐使用Meson和ninja来编译安装FUSE。sudo apt install ninja-buildsudo apt install meson
2020-08-30 00:27:12 2524
原创 bcc工具之funclatency
bcc的这个工具 funclatency主要是为了测量 函数调用的延时的funclatency(8)NAME funclatency - Time functions and print latency as a histogram.OPTIONS pattern Function name or search pattern. Supports "*" wildcards. See EXAMPLES. You can also use -r for reg‐
2020-08-23 20:18:31 686
原创 bcc工具之syscount
在排查linux性能问题的时候我们有时候会发现 整体 CPU使用率 很高,但是绝大多是是在sys 上的,usr上的CPU时间很少,这种就需要看看是内核空间在干什么了,是系统在 系统调用太耗时还是其他原因倒是的sys使用率上升。如果查看 系统调用时间 和 系统调用次数呢bcc为 我们提供了这个工具 syscountsh@ubuntu:/usr/sbin$ sudo syscount-bpfcc Tracing syscalls, printing top 10... Ctrl+C to quit.
2020-08-23 19:59:07 758
原创 bcc工具之execsnoop
我们知道linux中 创建进程的开销,或者说代价是比较大的。原因主要是 进程之间 地址空间不共享,资源也不共享,都需要copy一份(不考虑写时复制机制)而线程之间 共享地址空间,线程间调度的时候地址空间是一样的 tlb cache往往不会大量失效(tlb miss 的代价还是比较大的)在排查一些系统问题时,往往 top 看到的CPU使用率已经到 100%了,但是看 各个进程的 cpu使用率相加 只有30% 这种远低于 100%,这是因为 系统快速创建的进程往往没有被显示出来,top更新频率是 1次/
2020-08-23 19:29:44 1187
原创 perf 工具 安装
安装通过编译安装1. 源码在 kernel/tools/perf/ 目录下2. make install 即可3. perf top 验证一下通过编译安装 vm工具1. 源码在 kernel/tools/vm/ 目录下2. make install 即可3. slabtop 验证即可
2020-08-23 18:19:33 2216
原创 ubuntu 更换内核
想debug一下内核,用/boot 目录下的 vmlinuz 解压到 vmlinux 却一直失败,只好自己动手编译一下内核过程1. 首先下载内核代码2. 将 .config copy过来3. make menuconfig4. make -j85. sudo make modules_install6. sudo make install7. sudo update-initramfs -c -k 5.3.108. sudo update-grub9. sudo vi /etc/defa
2020-08-23 03:26:17 352
原创 kernel做了哪些尝试去 避免内存碎片化
内存碎片化linux内存管理 以page为 单位进行管理,在系统长时间运行之后,造成有大量离散不连续的页面存在,这就是内存碎片化。linux为减少内存碎片化做的努力1. 使用了 buddy 伙伴系统来管理物理内存2. 给每个页面定义了 MOVALBE属性,在内存碎片化压力比较大的时候可以 做内存规整 MOVABLE 内存页面可以移动, RECLAIMABLE 内存页面可以直接进行回收3. 内存迁移 一开始是为了 NUMA 系统中 task 可以完全迁移到 另一个 NUMA 节点中去
2020-08-16 18:44:52 165
原创 记录一次面试
怎么观察系统中 内存回收行为a. 通过 /proc/zoneinfo 文件,可以看到 free、high、low、min pages 关系free > high 时候 一般不开启 kswapd 回收线程high > free > low 时,开启 kswapd 回收线程low > free > min时,alloc_pages 会 直接 进行directly 内存回收b. vmstat 工具在 开启 swap 分区情况下 可以 看到 si so 速率c. 系统还.
2020-08-16 17:46:30 174
原创 kernel crash 问题
分类导致kernel panic 的软件问题。我自己总结大概分为以下几类1. 空指针问题2. soft lockup、hard lockup参考
2020-08-16 16:56:57 1108
原创 crash 工具分析kernel panic
系统产生vmcore 文件分析操作系统crash或hang的原因,需要用到vmcore 和 vmlinux 文件。Linux系统用来捕捉kernel dump的产生 vmcore 工具是kdump。vmlinux 文件是 编译过程中产生的。kdump的原理是启动一个特殊的dump-capture kernel把已经crash的 系统内存里的数据保存到文件里,为什么需要一个特殊的dump-capture kernel呢?因为原来的kernel已经出问题 panic or hung了,无法正常work了。
2020-08-16 15:45:04 607
ebpf.zip -- linux 性能巅峰之作
2020-05-17
BC28对接onenet平台的手册
2018-11-06
~/.vimrc配置
2018-09-03
TCP/IP详解卷2
2017-09-24
windows 下python opencv3安装包
2017-09-24
python + opencv 人脸识别代码(可以跨平台运行,linux windows均可以)
2017-09-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人