
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
上一篇介绍了0.12版本内核地址映射线性地址和物理地址是通过减去0xC0000000互相转化的,但是这里存在一个问题的,那就是内核只能读取1G的内存,即便物理内存大于4G空间,这样不就浪费了吗?那么对于高端内存,32位系统是怎么解决的呢?如果是64为系统,这个问题肯定是不存在的,因为它可以读取到512G的内存,通常是够的,回到之前的问题,那么32位的怎么处理呢?先回顾之前的地址映射上面...
我们知道Linux内核对内存的管理主要都是通过分页来完成的,那么实际的物理页和虚拟页是怎样的对应的。这篇blog我们试图去聊着这个机制。1.虚拟地址划分32位地址意味着4G的虚存空间,Linux内核将这4G的空间分成两个部分,将高的1G字节(0xC00000000-0xFFFFFFFF)用于内核本身,成为系统空间。而较低的3G字节作为各个进程的用户空间,这样理论上各个进程都可以使用空间...
1.程序程序是静态的代码,而进程是运行的程序。程序好比是剧本,而进程就是戏,戏是按照剧本演的。2.私有财产每个进程都有自己专有的系统堆栈空间3.户口在内核中有一个task_struct数据结构,操作系统里面通常叫做进程控制块PCB,有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核调度,并且它记录进程所占用的各项资源4.独立存储空间拥有专有的用户空间,意味着进...
本篇文章主要和大家分享linux的oom_score的工作原理。关于kubernetes的Qos在之前的blog已经分享过了,感兴趣的童鞋可以去看一下。k8s的Qos底层便是依赖内核的OOM机制。linux的OOM killer是为了在内存不足的情况下,杀掉消耗内存最多、优先级最低的任务,从而保障系统不被搞挂。这里有两个取决因素:(1)oom_score内核通过内存消耗计算得出 (2)oom_..
今天在生产环境遇到了一个奇怪的网络现象,通过抓包发现,SYN包没有ACK。可以ping通,防火墙开放的情况下,基本确定对方服务器问题。首先排除端口是否已经耗尽,发现仍有很多富余那么可能就是linux内核网络参数tcp_tw_recycle捣鬼。登录对方主机发现这个参数的确被设置成1.# sysctl -a|grep tcp_tw_recyclenet.ipv4.tcp_tw_recycle...
IPtable是Linux防火墙,有个非常重要的图和大家分享一下:上面的图详细介绍了IPtables数据流向,非常直观。当规则很多的时候很难确定哪些链被使用了,iptables支持log动作,下面是自己使用例子iptables -t raw -I OUTPUT -d 10.254.51.153 -j LOG --log-level 7 --log-prefix "raw out: &qu
上一篇介绍了grpc+ protobuf的一个helloworld,下面介绍一个多接口,并且具有验证功能等辅助一点的例子。这个例子主要是一个坐标使用获取的例子,先看看proto文件定义:yntax = "proto3";option java_multiple_files = true;option java_package = "io.grpc.examples.routeguide";opt
上一篇blog讲解了一下gc的整个流程。后面介绍了删除sandbox。但sandbox怎么删除还是没有讲清楚,在此详细展开说一下。
kubernetes的服务对外暴露通常有三种方式分别为nodeport、loadbalancer和ingress。nodeport很容易理解就是在每个主机上面启动一个服务端口暴露出去,这样弊端是造成端口浪费;loadbalancer这种方式目前只能在gce的平台跑的很好,就是在集群之外对接云平台的负载均衡;还有从kubernetes1.2出来的ingress,他是通过在计算结算启动一个软负载均衡(
在kube-proxy日志里面有很多报错E0813 10:47:18.983433454071 proxier.go:722] conntrack return with error: error looking for path of conntrack: exec: "conntrack": executable file not found in $PATHE0813 1







