11 2017 档案

摘要:zhangyichun大神的systemtap脚本: perf top -e ext4:ext4_write_begin 这有什么意义么?每一次都去踩一个ext4的读取事件?但是对于软事件来说,设置-F意义不大,设置后好像会出现问题 阅读全文
posted @ 2017-11-30 23:41 honpey 阅读(225) 评论(0) 推荐(0) 编辑
摘要:早晨在linuxer看到文章,感觉挺有意思,最早研究perf的时候接触过这些概念,乍一看倍感亲切。 sudo perf record -F 99 -a -g --sleep 20 perf record中这么几个参数还蛮有意思: -g可以设置Cgroup,竟然用cgroup的名字做索引 -F 是采样 阅读全文
posted @ 2017-11-28 09:23 honpey 阅读(1415) 评论(0) 推荐(0) 编辑
摘要:quotacheck -avug quotaon -avug setquota -u test1 10000 20000 /mountpoint quota -uv test1 阅读全文
posted @ 2017-11-27 23:43 honpey 阅读(145) 评论(0) 推荐(0) 编辑
摘要:网络性能在云计算中扮演者越来越重要的角色,除了改进网络延迟和吞吐量,另一个常见的任务是消除可能由丢包引起的时延异常。网络分析是跨硬件和软件的,这里的硬件是指物理网络,包括网络借口卡、交换机、路由器和网关。软件是指内核协议栈,通常是TCP/IP,以及每个锁涉及的协议的行为。 【为啥网络中的这些函数都叫 阅读全文
posted @ 2017-11-26 14:47 honpey 阅读(1246) 评论(0) 推荐(0) 编辑
摘要:ipv4头基本是20个字节,最多60个个(IHL域限定4bit 15*4=60【最多15个4字节,即60个字节】)并且 以太网帧 最小的长度 是60字节!还有个最大的长度级MTU IP数据报的格式: 下层的协议可能不知道自己封装的数据有多大【举个栗子:以太网帧最小是64字节,最小的有效载荷是46字节 阅读全文
posted @ 2017-11-26 00:22 honpey 阅读(278) 评论(0) 推荐(0) 编辑
摘要:终于写到网络了!用qemu+gdb+tap+wireshark来分析宿主机器以及qemu虚拟机之间的通讯。。 ======= 起了qemu虚拟机之后,我在宿主机上去ping我的虚拟机,有如下几条log: 首先使用ARP协议: 这是一个ARP协议:总共有42个字节,收到了一个广播:说谁知道192.16 阅读全文
posted @ 2017-11-24 23:58 honpey 阅读(203) 评论(0) 推荐(0) 编辑
摘要:min_free_kbytes 内存域水印值:min_free_kbytes 当不设置的时候:sqrt(16M)=4k 4k*4 = 16k 设置内存水印值的函数是: __setup_per_zone_wmarks 中会设置每个内存zone中的min/low/high水印 内存域的这些值都是怎么玩的 阅读全文
posted @ 2017-11-24 23:13 honpey 阅读(2393) 评论(0) 推荐(0) 编辑
摘要:可以在函数中间打点了, //12.10更新 查看我内核中 bpf_prog_load 到底是位于哪一行,那么执行: sudo sta -L 'kernel.statement("bpf_prog_load")',可以得到: 这样我就可以模仿上面的状态看看怎么使能bpf咯: 想看看在bpf的偏移10行 阅读全文
posted @ 2017-11-24 21:59 honpey 阅读(742) 评论(0) 推荐(0) 编辑
摘要:内核在哪里禁止对tmpfs中内存页的回收 mem.limit_in_bytes同样会触发shrink_zones过程! shrink_zones是代码中的直接内存回收路径 1、try_to_free_pages/2、try_to_free_mem_cgroup_page/3、shrink_all_m 阅读全文
posted @ 2017-11-22 09:22 honpey 阅读(273) 评论(0) 推荐(0) 编辑
摘要:是个长期过程》。。。。。 阅读全文
posted @ 2017-11-17 09:22 honpey 阅读(151) 评论(0) 推荐(0) 编辑
摘要:没看见current/high/low/min 在cgroup中的显示内容 阅读全文
posted @ 2017-11-16 09:08 honpey 阅读(213) 评论(0) 推荐(0) 编辑
摘要:kswapd发起的回收过程汇总会通过cgroup的excessed树进行回收,但是这个kwap都是啥时候被唤醒呢?为啥不是mem_cgroup_soft_limit_reclaim 发现在内核在在:page_counter_try_charge中的page_counter_try_charge中已经 阅读全文
posted @ 2017-11-15 09:01 honpey 阅读(2135) 评论(0) 推荐(0) 编辑
摘要:有大量的大页的回收,为什么映射了这么多的大页呢? mmap区域换成普通的大小,这下都是普通的page了,没有了大页的映射了,都是普通的4k小页 阅读全文
posted @ 2017-11-13 22:51 honpey 阅读(151) 评论(0) 推荐(0) 编辑
摘要:malloc-9711 [002] .... 40794.642938: mm_vmscan_lru_shrink_inactive: nid=0 zid=1 nr_scanned=3 nr_reclaimed=3 priority=12 flags=RECLAIM_WB_FILE|RECLAIM_WB_ASYNC malloc-9711 [002] ... 阅读全文
posted @ 2017-11-13 08:58 honpey 阅读(228) 评论(0) 推荐(0) 编辑
摘要:echo 3 > /proc/sys/vm/drop_cache 保证了对pagecache和slab的回收,但是匿名页的回收没什么办法呀, 其实原理很简单,page-cache是缓存,没有人拥有,并且slab中注册的那些shrinker也是只回收没有用到的内存,都不属于任何进程的 但是匿名页就不一 阅读全文
posted @ 2017-11-10 20:51 honpey 阅读(894) 评论(0) 推荐(0) 编辑
摘要:逆向映射是为了从page得到进程信息,里面有三个比较重要的结构体: mm_area_struct, anon_vma_chain, anon_vma 想象一种复杂的场景 所以其实一个进程对应着很多anon_vma才对 进程A:mmap了16K的匿名页出来,这16k应该是有一个vma,anon_vma 阅读全文
posted @ 2017-11-06 01:11 honpey 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:SystemTap需要内核符号表: 基本语法: next对应C中的return,中途返回; 今晚遗留了两个问题: 1)kernel.{function("vfs_write"), function("vfs_read")} 编译失败; 2) probe kernel.function("vfs_wr 阅读全文
posted @ 2017-11-02 23:35 honpey 阅读(224) 评论(0) 推荐(0) 编辑