Go语言中文网 为您找到相关结果 4

文件描述符、打开文件表以及inode

linux系统相关书籍中关于文件描述符及相关内容,通常会出现一张类似这样的图 ![filegraph1.png](https://static.studygolang.com/180105/da2689a8117283cb1da04f187ed8d84b.png) 或者这样的图 ![filegraph2.png](https://static.studygolang.com/180105/99268d61ce78ccb559a9cffd5630e400.png) 第一个图来自Michael Kerrisk的《Linux/UNIX系统编程手册》,第二个图来自《UNIX环境高级编程》(也就是APUE)。 文中对相关信息做了论述并且配上了上面这样的图,但是我相信很多人看完以后觉得好像懂了,那么请尝...阅读全文

博文 2018-01-05 22:21:01 changjixiong

技术分享:内存管理

导读:如何写一篇技术文章 确定目标读者群体 从问题出发,带着问题一步一步引出要讲解的内容 基于问题用逻辑推演导出内容 要有逻辑 斐波那契原则 层层递进 ps: 来自知乎问答 正文 本次分享的主题是:内存管理。 首先讲下为什么做这次分享,之前自己看过很多东西,但是呢,由于工作中没有用到,看完后呢就都忘了,就拿redis来说,相信很多人都看过《redis设计与实现》这本书,记得当时自己也一边看书一边看源码,但是现在也不记得什么了。所以呢,我就想有什么方法能够让自己更好的掌握理解所学的知识,即使这些内容在工作中暂时用不到,一个很好的办法就是做测验,即我们经常那一些问题来问自己,检验自己对内容的理解程度,所以本次分享我会先提问,然后为了回答这个问题,一步一步的给出本次分享的内容,当然一是由于内存管理...阅读全文

结合 Go 读 APUE-文件共享

文件共享 UNIX 系统支持在不同进程间共享打开文件, 知识点:内核用于所有 I/O 的数据结构、原子操作。 概念性的 I/O 数据结构 内核用于所有 I/O 的数据结构,只是个概念性的,不一定适用,有个大体的轮廓就 OK。 进程表 (process table entry) 中的记录 文件表项 (file table entry) v节点表项 (v-node table entry) 这是一个 打开文件的内核数据结构 图。打开文件 这个操作是一个进程, 每个进程在进程表中都有一个记录,而 打开文件进程记录 中包含一张打开文件描述符表, 包括: 文件描述符标志 指向一个文件表项的指针 文件描述符表用 Go 抽象如下表示: type fd struct { flags int pointer ...阅读全文

博文 2017-11-10 13:04:12 zhaohuXing

记录一次线上k8s域名解析超时问题

前言 近期线上 k8s 时不时就会出现一些内部服务间的调用超时问题,通过日志可以得知超时的原因都是出现在域名解析上,并且都是 k8s 内部的域名解析超时,于是直接先将内部域名替换成 k8s service 的 IP,观察一段时间发现没有超时的情况发生了,但是由于使用 service IP 不是长久之计,所以还要去找解决办法。 复现 一开始运维同事在调用方 pod 中使用ab工具对目标服务进行了多次压测,并没有发现有超时的请求,我介入之后分析ab这类 http 压测工具应该都会有 dns 缓存,而我们主要是要测试 dns 服务的性能,于是直接动手撸了一个压测工具只做域名解析,代码如下: package main import ( "context" "flag" "fmt" "net" "sy...阅读全文

博文 2019-12-11 18:32:41 mokeyWie