Toggle navigation
Home
Archive
About
NOTE
shell 运维命令集合
目录 求和、求平均值 grep 显示前后命令 循环读取文件的内容 查看磁盘读写io nc 网络测试命令 变量的默认值 安装包管理 sed 命令 ansible 基本用法 nslookup 测试域名解析 ssh 配置免密登录 使用 tc 模拟网络丢包和时延 vi 复制与删除 查看文件被哪个进程占用 set -euxo pipefai...
容器share pid 导致 restart 命令卡主
在工作中发现执行 docker restart 命令重启一个容器的时候,容器卡主了,这里分析总结下原因。其结论是容器 share pid namespace 功能不完善,社区已经有 PR 修复问题。 问题复现/现象 使用下面 yaml 创建 pod,在 yaml 中配置了两个容器,并且设置了共享 pid namespace:shareProcessNamespace: true apiVe...
linux 块设备 IO 栈浅析[转载]
原文地址linux块设备IO栈浅析 块存储,简单来说就是使用块设备为系统提供存储服务。块存储分多种类型,有单机块存储,网络存储(如NAS,SAN等),分布式块存储(目前主流的如AWS的EBS,青云的云硬盘,阿里云的云磁盘,网易云硬盘等)。通常块存储的表现形式就是一块设备,用户看到的就是类似于sda,sdb这样的逻辑设备。本文主要介绍Linux块设备,对Linux的块设备I/O栈进行分析。 ...
Golang 汇编入门-从输出 HelloWorld 说起[转载]
原文地址:Go 语言汇编入门 —— 从输出 HelloWorld 说起 作者:挖坑的张师傅 链接:https://juejin.im/post/5d6c58465188251a875b169e 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在 JVM 中,字节码可以帮我们搞清楚很多编译执行的细节, 为了搞清楚 go 语言底层的语法糖和原理,需要对底层的...
大概了解下 Golang 中的垃圾收集
本文分析的算法是根据go1.12版本,主要参考《Garbage Collection In Go》系列文章。回收过程分为四个阶段: Mark Setup - STW Marking - Concurrent Mark Termination - STW Sweeping - Concurrent Mark Setup - STW 垃圾收集开始的时候,第一件事是打开写屏障...
containerd runc docker 之间的关系
从 Docker 1.11 开始,Docker 容器运行已经不是简单的通过 Docker daemon 来启动,而是集成了containerd、runC 等多个组件。Docker 服务启动之后,我们也可以看见系统上启动了 dockerd、docker-containerd 等进程,本文主要介绍新版 Docker(1.11 以后)每个部分的功能和作用。 runC runc是由Docker公司...
理解 Golang 中的 unsafe Pointer
对于 unsafe.Pointer,在编程过程中用的不多,但是源码中经常遇到,理解 unsafe.Pointer 有助于更好的理解 Golang 的运行机制。 定义及使用 在 unsafe 包中,unsafe.Pointer 的定义为 ArbitratyType,代表任意类型,代码中的注释说这个类似起占位符的作用,我们就理解成 unsafe.Pointer 是一个可以指向任意类型的指针就可...
K8s 队列之基本 Controller 设计模式
目录 一般工作过程 1.队列声明 2.队列初始化 3.往队列里丢事件 4.启动worker 限速器(加入队列时限速) ItemExponentialFailureRateLimiter BucketRateLimiter 限速队列(延时队列+限速器) ...
K8s 队列之基本队列实现
这里的基本队列是指实现了如下接口的队列,代码路径为:client-go/util/workqueue/queue.go,区别于DelayingInterface,以及RateLimitingInterface,DelayingInterface实现延时加入队列的功能,RateLimitingInterface要配合限速器使用,实现了加入队列时的速率控制。后两者都内嵌了Interface,是基...
Golang 内存框架[转载]
本文转载自《Go 内存管理》 前言 编写过C语言程序的肯定知道通过malloc()方法动态申请内存,其中内存分配器使用的是glibc提供的ptmalloc2。 除了glibc,业界比较出名的内存分配器有Google的tcmalloc和Facebook的jemalloc。二者在避免内存碎片和性能上均比glibc有比较大的优势,在多线程环境中效果更明显。 Golang中也实现了内存分配器,原...
← Newer Posts
Older Posts →