2021年6月28日

摘要: rust漫游 - 写时拷贝 Cow<'_, B> Cow 是一个写时复制功能的智能指针,在数据需要修改或者所有权发生变化时使用,多用于读多写少的场景。 pub enum Cow<'a, B: ?Sized + 'a> where B: ToOwned, { /// Borrowed data. Bo 阅读全文
posted @ 2021-06-28 19:06 小胖西瓜 阅读(314) 评论(0) 推荐(0) 编辑

2021年6月9日

摘要: rust learning day 1 (2021/05/27) 学了常量,变量,数据类型,控制流,所有权 char 的宽度是4字节,一个 unicode 的宽度 控制流条件都不要括号 rust 中的元组使用和 c++ 中的非常相似 // clang++ test.cpp -std=c++11 && 阅读全文
posted @ 2021-06-09 16:54 小胖西瓜 阅读(220) 评论(0) 推荐(1) 编辑

2021年5月23日

摘要: wrk 及扩展支持 tcp 字节流协议压测 高性能、方便使用的 HTTP(s) 的流量压测工具,结合了多个开源项目开发而成: redis 的 ae 事件框架 luajit openssl http-parser 减少造轮子、复用他人的成功项目,赞👍;我们定制化也走这条路线,代码见此。 要支持 tc 阅读全文
posted @ 2021-05-23 15:26 小胖西瓜 阅读(302) 评论(0) 推荐(0) 编辑

2020年11月3日

摘要: 一次 KVM 虚拟机磁盘占满的排查过程 KVM 虚拟机系统为 CentOS,文件系统为 XFS。 现象如下: 使用 df -h 命令发现磁盘剩余空间为30k(总大小为30G),使用 df -i 发现 inode 可用数量为 800(总数为18w,正常状态为1000w+) 虚拟机为初始状态时,磁盘空间 阅读全文
posted @ 2020-11-03 17:53 小胖西瓜 阅读(1077) 评论(0) 推荐(0) 编辑

2020年10月18日

摘要: nginx 内存池 ngx_pool_t nginx 是自己实现了内存池的,所以在nginx ngx_pool_t 这个结构也随处可见,这里主要分析一下内存池的分配逻辑。 内存池实现了包括小块内存、大块内存和清理资源几种资源的处理,应该来说覆盖了绝大数的使用场景了。 相关结构定义 // 大块内存 t 阅读全文
posted @ 2020-10-18 23:37 小胖西瓜 阅读(429) 评论(0) 推荐(0) 编辑

2020年10月17日

摘要: ngx_align 值对齐宏 ngx_align 为nginx中的一个值对齐宏。主要在需要内存申请的地方使用,为了减少在不同的 cache line 中内存而生。 // d 为需要对齐的 // a 为对齐宽度,必须为 2 的幂 // 返回对齐值 #define ngx_align(d, a) ((( 阅读全文
posted @ 2020-10-17 21:48 小胖西瓜 阅读(382) 评论(0) 推荐(0) 编辑

2020年6月26日

摘要: SystemTap 从春哥(章亦春)那看到的关于SystemTap的介绍,让我对动态追踪这个功能颇为感兴趣,觉得这是一个非常有用的功能。 SystemTap对内核及用户态程序提供了动态追踪功能,用户可以自定探测事件来跟踪程序的运行情况,如函数的调用路径、CPU占用和磁盘IO等一系列可以探测的情况。有 阅读全文
posted @ 2020-06-26 22:10 小胖西瓜 阅读(2291) 评论(2) 推荐(0) 编辑

2020年5月9日

摘要: 一次内核 crash 的排查记录 使用的发行版本是 CentOS,内核版本是 ,在正常运行的情况下内核发生了崩溃,还好有 vmcore 生成。 准备排查环境 1. crash 2. 内核调试信息rpm,下载的两个 rpm 版本必须和内核版本一致 kernel debuginfo common x86 阅读全文
posted @ 2020-05-09 19:45 小胖西瓜 阅读(507) 评论(0) 推荐(1) 编辑

2020年4月5日

摘要: LLVM 编码规范 LLVM Coding Standards "官网" | 历史翻译版本 "Github" "导论" "语言、库和标准" "C++ 标准版本" "C++ 标准库" "Go 代码准则" "机械的代码问题" "代码格式化" "注释" "头文件" "类概述" "method inform 阅读全文
posted @ 2020-04-05 22:07 小胖西瓜 阅读(1454) 评论(0) 推荐(1) 编辑

2020年2月5日

摘要: SFINAE 与 type_traits SFINAE 替换失败不是错误 (Substitution Failure Is Not An Error),此特性被用于模板元编程。 在函数模板的重载决议中应用此规则, 当将模板形参替换为显式指定的类型或推导的类型失败时,从重载集中丢弃这个特化,而非导致编 阅读全文
posted @ 2020-02-05 12:20 小胖西瓜 阅读(412) 评论(0) 推荐(0) 编辑

导航