quick install ShadowsocksR + tcp_bbr
昨天凌晨到今天早上上班前梯子挂了,这里重新搭建一个。 DO 上入了一个$5/M 的 Ubuntu 17.04 x32,下面就是刷脚本的事情。 安装 shadowsocksR,需要注意的事情就是不要选客户端不支持的 obfs,一开始选错了可以在/etc/shadowsocks.json 中修改,保持和客户端兼容。重启在/etc/init.d/shadowsocks restart 1...
昨天凌晨到今天早上上班前梯子挂了,这里重新搭建一个。 DO 上入了一个$5/M 的 Ubuntu 17.04 x32,下面就是刷脚本的事情。 安装 shadowsocksR,需要注意的事情就是不要选客户端不支持的 obfs,一开始选错了可以在/etc/shadowsocks.json 中修改,保持和客户端兼容。重启在/etc/init.d/shadowsocks restart 1...
一直想找机会梳理一下 kernel 的网络子系统,不如现在开始动手做,在梳理 kernel 前,先回顾一下操作系统提供的网络编程 API。 0x00 用户如何使用想了解一下 Linux 下的 tcp 个人认为 socket API 是肯定要介绍的,自 bsd 4.2 引入到如今已经 30 多年了,核心 api 是非常稳定见如下表格 C/S API 服务器端: socke...
之前写 go 语言时候发现 go 语言支持可变长参数,且写法与 c 语言类似,就好奇了 c 语言是如何实现可变长参数的。这里参考了[^this]。 C 语言可变参数通过三个宏(va_start、va_end、va_arg)和一个类型(va_list)实现的, void va_start(va_list ap, paramN);参数:ap: 可变参数列表地址paramN: 确定的参数功能:初...
之前线上 229 kernel 在使用 cgroup cpu 子系统导致 crash,后又有在 3.10.0-514.26.2.el7 kernel 又出现 crash,让我对这个特性额外的关注了一下。 在分析 cfs bandwidth control 特性之前需要先知道 fair group scheduling 是什么,引用 zhihu[^zhihu]的一个回答。 普通进程的组调度...
0x00 what and why之前公司遇到了一个系统 load avg 异常,一路追杀的过程中学习了 CFS 并发现了 cfs per entity load track 特性,凑巧的是 lwn [^lwn]的文章被阿里内核日报围绕着原来系统有什么问题,如何解决的,达到了什么成果的方法阐述了一遍: 文章首先回顾了一下任务调度器和为什么有了 CPU 利用率还需要衡量“load”。后面的...
这个周一早上来工作被告知上周有 4 台物理 crash 了,需要诊断修复, 表象: 123456789101112131415161718192021222324252627282930313233343536373839404142434445 #0 [ffff88103fbc59f0] machine_kexec at ffffffff81059beb #1 [ffff88103fbc5...
写这个这个 post 的原因我们之前的线上主机 (3.10.0-229.el7) 的 load 非常非常诡异高达4294967293.49, 4294967293.43, 4294967259.67,众所周知 Linux 下影响 load 的两个重要指标是running queue 的大小,和 不可中断睡眠。 然后看了一下 ps 没有 D 状态的进程,那么也就是说系统 rq 非常非常大,vm...
今天遇到一个经验上的一个陷阱,蛮有意思的。小伙伴问我为什么 sudo 前后的 pip 位置不一样? 12345678[guohao@localhost ~]$ sudo type pippip is /bin/pip[guohao@localhost ~]$ type pippip is /usr/bin/pip[guohao@localhost ~]$ echo $PATH/usr/loc...
以为自上次离开北京就不会在来北京的工作的,但是事实上北京的工作机会比其他城市多太多。 0x00 再访京城准备入职这次来北京不同于上一次的心境,可能是经历多了一点。 熟悉项目本身花了一周工作日,这时候不得不感叹优秀的项目管理可以帮新人入手节约大量时间,不过因为客观条件限制很多时间在等待编译,这个期间主要看文档和钢之炼金术师,还有和老板聊天。 working-with-flintos 当时...
因为工作需要需要折腾一下,所以在这里备忘一下如何在 fedora 26 上测试 upstream 的代码。 12sudo dnf install fedpkg fedora-packager rpmdevtools ncurses-devel pesign elfutils-libelf-devel git clone git://git.kernel.org/pub/scm/linux/k...