随笔分类 -  工具-使用

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