systemd-analyze 分析系统上电时间
获取系统上电时间的概要信息 ~$ systemd-analyze Startup finished in 8.538s (kernel) + 11.783s (initrd) + 1min 19.618s (userspace) = 1min 39.940s 查看各服务启动所需的时间 ~$ systemd-analyze --no-pager blame 22.540s network.service 20.154s ceph-osd@10.service 20.153s ceph-osd@18.service 20.153s ceph-osd@25.service 20.153s ceph-osd@16.service 20.148s ceph-osd@24.service 20.147s ceph-osd@22.service
2019-03-05   schedule 4 min 8 s  
TCP 重传时间过长
问题描述 网络故障时 TCP 重传会持续非常非常久(重传定时器从 200ms 开始,不断翻倍直至 120s),此时虽然 socket 无法进行数据传输,但 socket 并
2019-03-05   schedule 7 min 18 s  
PostgreSQL 数据导入到 sqlite
以 example 数据库实例为例。 首先把 postgresql 中的 example 实例的表结构和数据导出来 sudo -u postgres pg_dump -p 5433 --schema-only example > schema.sql sudo -u postgres pg_dump -p 5433 --data-only --inserts example > data.sql 使用 vim 打开 data.
2019-03-04   schedule 2 min 25 s  
Python 嵌套函数同名变量作用域
Python 嵌套函数间同名变量的作用域规则与 C++/Go/JS 稍有不同,对于读操作而言,Python 的行为与 C++/Go/JS 一致,通过 global/nonlocal 关键字还能做到更灵活,赋
2019-03-03   schedule 3 min 28 s  
搭建 Shadowsocks 服务
突然发现 Shadowsocks 已经不流行了(V2Ray),简单总结下。 环境信息如下: 服务端 Ubuntu 16.04 客户端 Ubuntu 18.04 浏览器 Chrome 创建云主机 推荐 VULTR 平台,新注册
2019-03-03   schedule 3 min 15 s  
临时规避 DNS 污染
挂在 bwh1.net 上的虚机业务出了点问题,想上去看看,突然发现 bwh1.net 自身都无法访问了,这种东西并没有什么好的解决方法,只能临时规避。 访问
2019-03-03   schedule 34 s  
C++ atomic_flag
只能使用如下的初始化方式将 flag 初始化成 false,任何其他初始化方法得到的值都是未定义的,且不支持赋值操作: std::atomic_flag flag = ATOMIC_FLAG_INIT; // 1. ok
2019-03-02   schedule 1 min 18 s  
go modules
Go module 实际上就是带版本号的 package 集合: 注意区别于 Python 的 module vs package 的关系,Go 和 Python 在这两个概念上差不多是对调的关系: Python 用 __init__.py 文件标示一个
2019-03-02   schedule 1 min 27 s  
go 反射
Go 没有 C++ 中的多态、模板相关的概念,类似的需求都是通过 interface 实现。 当实现类似 C++ 多态时,interface 更接近于 Python 中的 duck typ
2019-03-02   schedule 3 min 39 s  
qemu 的事件处理
qemu 中有两有两种类型的事件循环(event loop),其中主循环(main loop)是 qemu 运行的基础,最初整个 qemu 只有这一个事
2019-03-02   schedule 1 min 25 s