随笔分类 - 工具-使用
摘要:可以看出cache 适用了3GB; Cached (3.4 GB) 这就是 free 里显示的 buff/cache ≈ 3G 的主要部分。 它表示文件内容被缓存到内存里(page cache)。 举例:你 cat 或 less 一个大文件,下次再读的时候就会从这里命中,不用去磁盘。 [root@l
阅读全文
摘要:参考:http://packetbomb.com/understanding-the-tcptrace-time-sequence-graph-in-wireshark/ cwnd 查看方式 Congestion control 是发送端通过算法得到的一个动态变量,会实时调整,并不会体现在协议的传输
阅读全文
摘要:安装命令:yum install -y wireshark 在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析。 最近才发现,原来wireshark也提供有Linux命令行工具-
阅读全文
摘要:xx产品有个功能是对任何端口的访问都会被记录。它的实现原理是iptables的NFLOG NFLOG是什么 它是一个target,就像ACCEPT、DROP等可以作为iptables -j后的参数值 iptables -A INPUT -p tcp -m tcp --dport 80 -j NFLO
阅读全文
摘要:如指定 IP 包长度大于 100: tcpdump -i eth0 -n 'ip[2:2] > 100' traceroute使用 oot@zh-hz-hr-ygyradius ~]# traceroute -I -p 2000 192.168.1.1 traceroute to 192.168.1
阅读全文
摘要:How do I print the full value of a long string in gdb? set print elements 0 From the GDB manual: set print elements number-of-elements Set a limit on
阅读全文
摘要:一、参数说明 格式: curl -H 请求头 -d 请求体 -X POST 接口地址 参数 内容 格式 -H(或者 --header) 请求头 “Content-Type: application/json” -d POST内容 ‘{“id”: “001”, “name”:“张三”, “phone”
阅读全文
摘要:参考:http://blog.yufeng.info/archives/747 参考:https://www.cnblogs.com/emperor_zark/archive/2012/12/11/context_switch_1.html 在做Linux服务器的时候经常会需要知道谁在做进程切换,什
阅读全文
摘要:perf stat -r 5 -e cache-misses,cache-references,instructions,cycles,L1-dcache-stores,L1-dcache-store-misses -a perf record -e cache-misses 其实一般使用perf
阅读全文
摘要:Using the initial RAM disk (initrd) Written 1996,2000 by Werner Almesberger <werner.almesberger@epfl.ch> and Hans Lermen <lermen@fgan.de> initrd provi
阅读全文
摘要:以前分析了netlink的原理,可以知道:内核和用户态相互消息传递,最好的方法就是使用 netlink,比较可以双向传递消息,不像 proc sys 只能单向; 但是netlink有个缺点就是使用tcpdump抓不到!! 目前为了解决他,采取了以前dpdk抓包的方法,直接copy&&mirror到虚
阅读全文
摘要:首先需要弄清楚 进程被干掉的过程是怎样的? 一般使用kill -9 pid 来杀死进程 , 那么进程是怎样收到signal以及处理signal呢? 那目前有哪些现成的工具可以使用探测signal呢? 参考tapset文档 #! /usr/bin/env stap # sigkill.stp # Co
阅读全文
摘要:目前遇到线上内存泄露 valgrind 不能用 使用smaps gdb dump 内存后使用string 来分析,目前没有看到结果 使用ltrace 跟踪malloc mmap 等?还是使用systemtap中跟踪 user-process 继续分析一下 : 目前arm 版本 systemtap u
阅读全文
摘要:目前是直接使用systemp 工具 检查ip_output部分逻辑:简写代码如下所示 #! /usr/bin/env stap %{ #include <linux/in.h> #include <linux/inet.h> #include <net/inet_sock.h> #include <
阅读全文
摘要:目前使用到的bcc程序主要包括两个部分,一部分是python语言,一部分是c语言。python部分主要做的工作是BPF程序的加载和操作BPF程序的map,并进行数据处理。c部分会被llvm编译器编译为BPF字节码,经过BPF验证器验证安全后,加载到内核中执行。python和c中出现的陌生函数可以查下
阅读全文
摘要:问题如下:使用仪器测试盒子设备 ipv6 完毕后,发现内存降不下去 1、简单分析 slabinfo 以及buffinfo Develop>cat /proc/slabinfo slabinfo - version: 2.1 # name <active_objs> <num_objs> <objsi
阅读全文
摘要:开始优化应用层!! 目前可以看出问题如下: select 耗时太多!!!! read 系统调用的errors次数占比13% 这是一个问题 read的次数太多,是不是可以调大接收缓存减少read 次数,同时使用zero_copy tcp : A reworked TCP zero-copy recei
阅读全文
摘要:紧接着之前的问题继续看: 系统负载 : uptime top 看多个阶段平均负载系统整体情况 : mpstat (mpstat -p ALL 3) 查看 每个cpu当前的整体状况,可以重点看用户态、内核态、以及io等待三个参数系统整体的平均上下文切换情况 : vmstat (vmstat 3) 可以
阅读全文
摘要:一:内核支持 编译内核以支持systemtap :首先让内核中有调试信息,编译内核时需要加上 -g 标志;其次,你还需要在配置内核时将 Kprobe 和 debugfs 开关打开。 最终效果是,你能在内核 .config 文件中看到下面四个选项是设置的: CONFIG_DEBUG_INFO CONF
阅读全文
摘要:问题如下: http cps:4w http响应包体21k, 流量为:21k *40K*8= 6.8Gbps 测试结果为盒子cpu满载,其接口流量显示只有400M, 仪器显示http失败较多 分析如下: 1、首先找到性能临界点,也就是当前设备最多能打到多少时仪器才开始显示丢包 目前通过二分法 调整发
阅读全文