- 博客(609)
- 资源 (38)
- 收藏
- 关注
转载 CPU之战:ARM vs Intel
智能计算芯世界 6 days agoARM是移动互联网时代的芯片IP霸主。ARM公司在全球数字IC设计领域具有举足轻重地位,其IP在智能手机、可穿戴设备、网络基础设施等领域拥有极高的市场份额。在OS+CPU体系中,ARMdroid(ARM+Android)体系战胜了PC时代wintel(Windows+Intel)体系,成为移动互联网时代的霸主。手机芯片:ARM中止合作短期对华为影响可控。华为海思基于ARM授权研发了手机SoC芯片、基带芯片、服务器芯片、AI芯片等。华为目前拥有最新的AR..
2021-10-15 20:50:12 1213
转载 读懂Redis源码,我总结了这7点心得
用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事情。他们可能遇到问题时,会更倾向于去找别人分享的答案。但往往很多时候,自己查到的资料并不能解决所有问题,尤其是比较细节的问题。从我的实战经验来看,遇到这种情况,通常就需要去源码中寻找答案了,因为在源码面前,这些细节会变得「一览无余」。而且我认为,掌握读源码的能力,是从只懂得如何使用 Redis,到精通 Redis 实现原理的成长之路上,必须跨越的门槛。
2021-10-15 20:46:42 155
转载 CPU可以跑多快?地球到火星的距离告诉你!
我们在之前的文章中介绍了一张出自Google大神 Jeff Dean的图,这张图展示系统中各种关键操作的时延具体有多少。需要注意的是这张图上的数据自2012年后就没有再更新过了,统计自2020年的最新数据见这里:这张图中一个小的黑方块代表1纳秒,一个蓝色的方块代表100纳秒,一个绿色的方块代表10微秒,一个红色的方块代表1毫秒。尽管这种表示方法已经比第一张图形象很多了,但在我们(人类)看来对这些纳秒没太多概念,毕竟人类的反应时间仅仅0.2 -0.3秒,比这更短的时间人类是没有太多感.
2021-10-15 20:44:58 199
转载 图解网络|收到RST,就一定会断开TCP连接吗?
下面是这篇文章的目录。收到RST就一定会断开连接吗什么是RST我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。RST 就是用于这种情况,一般用来异常地关闭一个连接。它是一个TCP包头中的标志位。正常情况下,不管是发出,还是收到置了这个标志位的数据包,相应的内存、端口等连接资源都会被释放。从效果上来看就是TCP连接被关闭了。而接收到 RST的一方,一般
2021-10-15 20:43:27 1356
转载 看一遍就理解:MVCC原理详解
前言MVCC 实现原理是一道非常高频的面试题,我们一起来聊聊。1. 相关数据库知识点回顾1.1 什么是数据库事务,为什么要有事务事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。假如A转账给B 100 元,先从A的账户里扣除 100 元,再在 B 的账户上加上 100 元。如果扣完A的100元后,还没来得及给B加上,银行系统异常了,最后导致A的余额减少了,B的余额却没有增加。所以就需要事务,将A的钱回滚回去,就是这么简单。
2021-10-15 20:41:05 269
转载 CPU加了缓存后,有人急了~
Hi,我是CPU一号车间的阿Q,还记得我吗,真是好久不见了~我所在的CPU是一个八核CPU,就有八个工作车间,那运行起来速度杠杆的~虚拟地址翻译一大早,我们一号车间MMU(内存管理单元)部门的小黑就来到领导办公室,恰好我也在。“领导,听说您同意了阿Q他们的方案,给每个车间都划拨了缓存建设预算?”“你这小子,消息还挺灵通的。没错,内存那家伙实在太慢了,加了缓存后,不用每次都从内存读取数据,能让咱们的性能提升不少”,领导说到。“那我们MMU部门也要申请一笔经费”,小黑说到。领导眉
2021-10-15 20:38:50 74
转载 一文读懂 | Linux 网络命名空间
1 前景回顾1.1 Linux网络Linux是因特网的产物, 这是无可争议的. 首先, 得感谢因特网通信, Linux的开发过程证明了一个很多人曾持有的观点是荒谬的 : 对分散在世界各地的一组程序员进行项目管理是不可能的. 第一个内核源代码版本是在十多年前通过FTP服务器提供的, 此后网络便成了数据交换的支柱, 无论是概念和代码的开发, 还是内核错误的消除, 都是如此.内核邮件列表是个活生生的例子, 它几乎没有改变过. 每个人都能够看到最新贡献的代码, 并为促进Linux的开发提出自己的意见,.
2021-10-15 20:36:47 703
转载 Linux内核角度分析tcpdump原理(二)
上篇文章介绍了在内核角度tcpdump的抓包原理(1),主要流程如下: 应用层通过libpcap库:调用系统调用创建socket,sock_fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));tcpdump在socket创建过程中创建packet_type(struct packet_type),并挂载到全局的ptype_all链表上。(同时在packet_type设置回调函数packet_rcv。 网络收包/发包时,会在各自的处理函数(收包
2021-10-15 20:34:24 749
转载 再谈Linux epoll惊群问题的原因和解决方案
缘起近期排查了一个问题,epoll惊群的问题,起初我并不认为这是惊群导致,因为从现象上看,只是体现了CPU不均衡。一共fork了20个Server进程,在请求负载中等的时候,有三四个Server进程呈现出比较高的CPU利用率,其余的Server进程的CPU利用率都是非常低。中断,软中断都是均衡的,网卡RSS和CPU之间进行了bind之后依然如故,既然系统层面查不出个所以然,只能从服务的角度来查了。自上而下的排查首先就想到了strace,没想到一下子就暴露了原形:acce...
2021-10-08 19:59:50 508
转载 Go 存储基础 | 怎么使用 direct io ?
Go 存储编程怎么使用 O_DIRECT 模式?今天就分享这个存储细节,之前提过很多次,操作系统的 IO 过文件系统的时候,默认是会使用到 page cache,并且采用的是 write back 的方式,系统异步刷盘的。由于是异步的,如果在数据还未刷盘之前,掉电的话就会导致数据丢失。如果想要明确数据写到磁盘有两种方式:要么就每次写完主动 sync 一把,要么就使用 direct io 的方式,指明每一笔 io 数据都要写到磁盘才返回。那么在 Go 里面怎么使用 direct io 呢?...
2021-10-08 19:50:49 767
转载 特斯拉遇上 CPU:程序员的心思你别猜
18世纪流水线的诞生带来了制造技术的变革,人类当今拥有琳琅满目物美价廉的商品和流水线技术的发明密不可分,因此当你喝着可乐、吹着空调、坐在特斯拉里拿着智能手机刷这篇文章时需要感谢流水线技术。一段有趣的代码有这样一段代码:for (int k = 0; k < 10000; k++){ for (int i = 0; i < arr.size(); i++) { if (arr[i] > 256) sum += arr[i]; }}这段代码非常简单,给定一个数组,计算所有大
2021-10-08 19:45:55 120
转载 Go:Context 和传播取消
context 包[1]在 Go 1.7 中引入,它为我们提供了一种在应用程序中处理 context 的方法。这些 context 可以为取消任务或定义超时提供帮助。通过 context 传播请求的值也很有用,但对于本文,我们将重点关注 context 的取消功能。本文是 Go语言中文网组织的 GCTT 翻译,发布在 Go语言中文网公众号,转载请联系我们授权。默认的 contextsGo 的 context 包基于 TODO 或者 Background 来构建 context。var(.
2021-10-08 19:43:03 571
转载 Linux内核角度分析tcpdump原理(一)
一、tcpdump的用途tcpdump是Linux系统抓包工具,tcpdump基于libpcap库,根据使用者的定义对网络上的数据包进行截获,tcpdump可以将网络中传送的数据包中的"头"完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助去掉无用的信息。通过tcpdump可以分析很多网络行为,比如丢包重传、详细报文、tcp分组等,总之通过tcpdunp可以为各种网络问题进行排查,可以在服务器上将捕获的数据包信息以pcap文件保存下来,..
2021-10-08 19:40:34 3968
转载 一次限制进程的 CPU 用量的实操过程
给大家分享一个事情。背景是这样的,我们要测试某个第三方 SDK 运行性能,这是个 CPU 密集型的服务。我想评估一下它运行一遍到底有多吃 CPU,以便评估上线后我们需要部署多少台服务器。我们是在一台 16 物理核的机器上测试的,我们的想法是把它启动起来,然后执行一遍。用耗时乘以 16 核那就是总的 CPU 耗时开销。不过不巧的是我们发现这个货在并发上做的并不是特别好,运行的前半段里只能打满一个核,而后半段可以把整台机器上所有 16 核都打满。这样就没法准确估算它的 CPU 消耗了。最先我想到的方案是
2021-09-24 19:43:46 389
转载 Redis 核心篇:唯快不破的秘密
“天下武功,无坚不摧,唯快不破!”学习一个技术,通常只接触了零散的技术点,没有在脑海里建立一个完整的知识框架和架构体系,没有系统观。这样会很吃力,而且会出现一看好像自己会,过后就忘记,一脸懵逼。跟着「码哥字节」一起吃透 Redis,深层次的掌握 Redis 核心原理以及实战技巧。一起搭建一套完整的知识框架,学会全局观去整理整个知识体系。系统观其实是至关重要的,从某种程度上说,在解决问题时,拥有了系统观,就意味着你能有依据、有章法地定位和解决问题。Redis 全景图全景图可以围绕两个纬
2021-09-24 19:41:56 88
转载 为什么编程语言初创公司那么少?
作者 | Jean Yang.译者 | 王强策划| 晓旭. 来源 |InfoQ架构头条本文最初发布于 akitasoftware.com 网站,经原作者授权由 InfoQ 中文站翻译并分享。几周前我主持了一个小组讨论,会上有人问道:“为什么编程语言社区没那么多初创公司呢?”这个小组会议的主题是职业路径,是编程语言设计和实现(PLDI)会议的一个环节。那人问的是为什么我们没有看到很多一流的编程语言和软件分析技术走向商业化。程序员待解决的痛苦显然有很多。但为什么我们没有看到更多“深层”...
2021-09-24 19:37:50 85
转载 深入理解Kubernetes容器网络
在Kubernetes中要保证容器之间网络互通,网络至关重要。而Kubernetes本身并没有自己实现容器网络,而是通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则: Pod无论运行在任何节点都可以互相直接通信,而不需要借助NAT地址转换实现。 Node与Pod可以互相通信,在不限制的前提下,Pod可以访问任意网络。 Pod拥有独立的网络栈,Pod看到自己的地址和外部看见的地址应该是一样的,并且同个Pod内所有的容器共享同个网络栈。 容器网络...
2021-09-18 20:34:24 143
转载 Go 内存管理之三:CGO
之前在 povilasv.me[1] 上,我们一起探讨了 Go 内存管理 和 Go 内存管理之二。在上篇博文中,我们发现使用 cgo 会占用更多的虚拟内存。现在我们来深入研究一下 cgo。本文是 Go语言中文网组织的 GCTT 翻译,发布在 Go语言中文网公众号,转载请联系我们授权。CGO 揭秘正如之前所见,cgo 会使虚拟内存膨胀。此外,对于大部分用户而言,一旦他们导入了 net 包或者其子包(比如 http),就会自动的使用 cgo。我在标准库的代码里发现很多描述 cgo 调用工作机制的
2021-09-18 20:32:16 1695
转载 为什么 P8 程序员的代码你写不出来?零拷贝了解一下
计算机处理的任务大体可以分为两类:CPU密集型与IO密集型。当前流行的互联网应用更多的属于IO密集型,传统的IO标准接口都是基于数据拷贝的,这篇文章我们主要关注该怎样从数据拷贝的角度来优化IO性能,让你的程序在IO性能方面赶超P8。为什么IO接口要基于数据拷贝?为了让广大码农们更好的沉迷于自己的一亩三分地,防止ta们分心去关心计算机中的硬件资源分配问题,操作系统诞生了。操作系统本质上就是一个管家,目的就是更加公平合理的给各个进程分配硬件资源,在操作系统出现之前,程序员需要直面各类硬件,就像这
2021-09-18 20:30:58 114
转载 火山引擎 A/B 测试的思考与实践
本文整理自火山引擎开发者社区 Meetup 第四期同名演讲,主要为大家介绍了为什么要做 A/B 测试、火山引擎 A/B 测试系统架构及最佳实践。为什么要做 A/B 测试首先我们看一个案例。字节跳动有一款中视频产品叫西瓜视频,最早它叫做头条视频。为了提升产品的品牌辨识度,团队想给它起个更好的名字。经过一些内部调研和头脑风暴,征集到了西瓜视频、奇妙视频、筷子视频、阳光视频 4 个名字,于是团队就针对一共 5 个 APP 名称进行了 A/B 实验。这个实验中唯一改变的是应用市场里该产品的名称和对应的 .
2021-09-15 12:19:23 962
转载 计算机系的同学应该有更高的雄心壮志
前言:这篇文章之前已经发过,但很多人没有看到,9月份,很多大学已经开学了,把这篇文章送给计算机专业的同学,大学四年看起来很长,其实很短, 希望大家努力向上,有更高的雄心壮志,预祝大学旅途顺利。前些天有个计算机系的同学和我聊天,想在暑假做个人网站,博客之类的系统,我劝他说计算机系的学生(其实不止是计算机系,可以扩展到所有热爱编程的在校同学)应该有更高的雄心壮志,去挑战更有难度的东西。为什么这么说呢?因为我大学时吃过亏啊!我也是读计算机系,上学的时候迷迷糊糊的,把计算机系的基础课.
2021-09-10 19:50:40 134
转载 一文搞定 | 零拷贝技术
大家好,我是 Peter,内存拷贝是比较耗时操作,零拷贝是常用优化手段,今天分享的文章就是Linux系统零拷贝技术。DMA 与零拷贝技术注意事项:除了 Direct I/O,与磁盘相关的文件读写操作都有使用到 page cache 技术。1. 数据的四次拷贝与四次上下文切换很多应用程序在面临客户端请求时,可以等价为进行如下的系统调用: File.read(file, buf, len); Socket.send(socket, buf, len); 例如消息中
2021-09-10 19:48:38 126
转载 Redis的这些拓展方案
| 前言Redis大家都不陌生,就算是没用过,也都听说过了。作为最广泛使用的KV内存数据库之一,在当今的大流量时代,单机模式略显单薄,免不了要有一些拓展的方案。笔者下文会对各种方案进行介绍,并且给出场景,实现 等等概述,还会提到一些新手常见的误区。| 正文先从基础的拓展方式开始,这样更便于理解较高级的模式。ps: 本文背景是以笔者落笔时官网最新稳定版5.0.8为准,虽然还没写完就变成了6.0.1。分区> 概述分区(Partitioning)是一种最为简单的拓展方
2021-09-10 19:46:22 242
转载 LeetCode解题的常见模式套路
对很多开发者来说,编程工作的面试准备很容易让人焦虑。面试要涉及的东西实在太多,其中很多还往往与开发者的日常工作无关。这种现状导致了一个后果:现在的开发者往往需要花费数周时间在 LeetCode 等网站上了解综合数百个问题。这里将列出最常见的 14 种模式,它们可被用于解决任何常见编程面试问题。另外还会说明如何识别每种模式,并会为每种模式提供一些问题示例。这些内容都只是蜻蜓点水——我强烈建议你看看课程《Grokking the Coding Interview: Patterns for Coding Q
2021-09-10 19:44:44 245
转载 万字详解秒杀系统!!
大家好,我是捡田螺的小男孩~ 今天推荐冰河老哥一篇干货很多小伙伴反馈说,高并发专题学了那么久,但是,在真正做项目时,仍然不知道如何下手处理高并发业务场景!甚至很多小伙伴仍然停留在只是简单的提供接口(CRUD)阶段,不知道学习的并发知识如何运用到实际项目中,就更别提如何构建高并发系统了!究竟什么样的系统算是高并发系统?今天,我们就一起解密高并发业务场景下典型的秒杀系统的架构,结合高并发专题下的其他文章,学以致用。电商系统架构在电商领域,存在着典型的秒杀业务场景,那何谓秒杀场景呢。简单的来说就是
2021-09-10 19:42:16 2448 1
转载 深入理解 Linux 的 epoll 机制
坚持思考,就会很酷在 Linux 系统之中有一个核心武器:epoll 池,在高并发的,高吞吐的 IO 系统中常常见到 epoll 的身影。IO 多路复用在 Go 里最核心的是 Goroutine ,也就是所谓的协程,协程最妙的一个实现就是异步的代码长的跟同步代码一样。比如在 Go 中,网络 IO 的 read,write 看似都是同步代码,其实底下都是异步调用,一般流程是:write(/*IO参数*/)请求入队等待完成...
2021-09-10 19:38:37 160
转载 图解Go内存管理系列(1)
这篇博客是我在维尔纽斯的 Go Meetup[1] 演讲的总结。如果你在维尔纽斯并且喜欢 Go 语言,欢迎加入我们并考虑作演讲在这篇博文中我们将要探索 Go 语言的内存管理,首先让我们来思考以下的这个小程序:funcmain(){http.HandleFunc("/bar",func(whttp.ResponseWriter,r*http.Request){fmt.Fprintf(w,"Hello,%q",html.EscapeString(r.UR...
2021-09-10 19:36:12 277
转载 阿里面试官:为什么MySQL数据库索引选择使用B+树而不是跳表?
来源:https://www.cnblogs.com/andydao/p/12891690.html作者:andydaopeng在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使用B+树!学过数据结构的一般对最基础的树都有所认识,因此我们就从与我们主题更为相近的二叉查找树开始。# 二叉查找树(1)二叉树简介:...
2021-09-10 19:34:11 2256 3
转载 如何动手做出一个 CPU
低并发编程 - 战略上藐视技术,战术上重视技术纯手工打造一个 CPU 这个事儿。在电子专业的同学眼里,很容易。在计算机专业的同学眼里,稍稍有点复杂,有的专业课的实验课可能会带着同学做一个,或者用 Logisim 这样的仿真软件去模拟实现一个。在非计算机专业的同学眼里,就有点不敢想象了。我就属于第三种。纯手工做一个 CPU 有很多好处,做完了以后确实对计算机组成的原理有了更为深入且直观的理解,而且也能稍稍涉足到电子领域,产生兴趣。所以有那么几个月的时间,我就真正去实践了一下,做出来
2021-09-10 19:32:29 161
转载 使用 ebpf 深入分析容器网络 dup 包问题
| 导语我们日常工作中都会遇到内核网络相关问题,包括网络不通、丢包、重传、性能问题等等,排查和解决非常困难,而容器更加重了这种复杂度,涉及2、3层转发,iptable,ipvs,namespace等,即使是网络专家,面对如此复杂的环境也非常的头大的。我们基于eBPF开发了skbtracer工具,不用修改内核代码,不用编写内核模块而能够使Linux主机网络变成一个彻底的白盒,能够看到一个数据包从产生发出去的全部过程,包括不限于数据流、namespace、路由信息跟踪,丢包原因,netfilter处...
2021-09-10 19:26:31 709
转载 深入浅出cgroup
一、什么是cgroupCgroup是linux内核用来控制系统资源的机制,它将操作系统中的所有进程以组为单位划分,给这一组进程定义对某一类资源特定的访问权限。Cgroup用子系统(subsystem)来描述所能控制的系统资源,子系统具有多种类型,每个类型的子系统都代表一种系统资源,比如freezer、CPU、memory、IO等。以freezer子系统为例,这个子系统可以对一组线程批量冻结,使用下面命令将打开freezer子系统:mount cgroup none /dev/freezer fr
2021-09-03 20:02:55 764
转载 结合中断分析TCP/IP协议栈在Linux内核中的运行时序
今天分享一篇经典Linux协议栈文章,主要讲解Linux网络子系统,看完相信大家对协议栈又会加深不少,不光可以了解协议栈处理流程,方便定位问题,还可以学习一下怎么去设计一个可扩展的子系统,屏蔽不同层次的差异。目录1.Linux网络子系统的分层2.TCP/IP分层模型3.Linux网络协议栈4.Linux网卡收包时的中断处理问题5.Linux网络启动的准备工作6.Linux网络包:中断到网络层接收7.总结Linux网络子系统的分层Linux网络子系统实现需...
2021-09-02 19:28:00 399
转载 宋宝华:为了不忘却的纪念,评Linux 5.13内核
Linux 5.14于14小时之前发布了,而我5.13的总结还没有写出,我早觉得有写一点东西的必要了,这虽然于搬砖的码农毫不相干,但在追求进步的工程师那里,却大抵只能如此而已。为了不忘却的纪念,我们列出5.13内核的数个激动人心的新特性: Apple M1的初始 Misc cgroup Landlock安全模块 系统调用的堆栈随机化 printk无锁ringbuffer的进一步优化 BPF可调用内核函数 公共的IO PAGE Fault支持
2021-09-01 20:08:05 424
转载 “段寄存器”的故事
一、 段寄存器的产生段寄存器的产生源于Intel 8086 CPU体系结构中数据总线与地址总线的宽度不一致。数据总线的宽度,也即是ALU(算数逻辑单元)的宽度,平常说一个CPU是“16位”或者“32位”指的就是这个。8086CPU的数据总线是16位。地址总线的宽度不一定要与ALU的宽度相同。因为ALU的宽度是固定的,它受限于当时的工艺水平,当时只能制造出16位的ALU;但地址总线不一样,它可以设计得更宽。地址总线的宽度如果与ALU相同当然是不错的办法,这样CPU的结构比较均衡,寻址可以在
2021-09-01 20:05:10 436 1
转载 Kubernetes + Docker + DevOps 必看面试题
最近,各大互联网巨头在技术战略层面,都把云原生列为了主要发展方向。以阿里巴巴为例,他们技术老大说,云原生是云计算释放红利的最短路径,是企业数字化的最短路径。现在云原生工程师、Kubernetes 工程师工资都特别高,并且都是急聘。为啥呢?因为现在的人才少,看到趋势的人才少,这个赛道还没有十分拥挤,机会也在日益增多。云原生工程师要学哪些东西呢?大的点就是 Go 语言 + Kubernetes,而其中,Kubernetes、Docker、DevOps 又是重中之中,我知道的很多人,因为会使用 K
2021-09-01 20:03:24 360
转载 一个内核漏洞详解:容器逃逸
CVE-2021-22555:一个影响2006年(Linux kernel v2.6.19-rc1 发布)至今(Linux kernel v5.12-rc8)的所有Linux内核版本的漏洞,可导致本地提权与容器逃逸;该漏洞是个内核级漏洞,跟Linux的发行版本没有关系,也就是说只要Linux 内核版本在v2.6.19-rc1 ~v5.12-rc8 之间的内核,都存在被黑客利用该漏洞攻击的可能。该漏洞是由Andy Nguyen (theflow@)发现,于2021年07月16日发布。换句话说,该漏洞已
2021-09-01 20:00:59 1755
转载 面试题:在日常工作中怎么做MySQL优化的?
前言大家晚上好,我是捡田螺的小男孩。今天我们来聊聊MySQL常见的优化手段。MySQL常见的优化手段分为下面几个方面:SQL优化、设计优化,硬件优化等,其中每个大的方向中又包含多个小的优化点SQL优化此优化方案指的是通过优化 SQL 语句以及索引来提高 MySQL 数据库的运行效率,具体内容如下:分页优化例如:select*fromtablewheretype=2andlevel=9orderbyidasclimit190289,1...
2021-09-01 19:58:26 109
转载 1 分钟内对 Linux 进行性能诊断的10 个命令
链接:https://zhuanlan.zhihu.com/p/39893236当你发现 Linux 服务器上的系统性能问题,在最开始的 1 分钟时间里,你会查看哪些系统指标呢?Netflix 在 AWS 上有着大规模的 EC2 集群,以及各种各样的性能分析和监控工具。比如我们使用 Atlas 来监控整个平台,用 Vector 实时分析 EC2 实例的性能。这些工具已经能够帮助我们解决大部分的问题,但是有时候我们还是要登录进机器内部,用一些标准的 Linux 性能分析工具来定位问题。在这篇文.
2021-09-01 19:56:53 935
转载 GDB底层实现原理
在程序出现bug的时候,最好的解决办法就是通过GDB调试程序,然后找到程序出现问题的地方。比如程序出现段错误(内存地址不合法)时,就可以通过GDB找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍 GDB 的使用方式,而是大概介绍 GDB 的实现原理,当然 GDB 是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以本文主要是介绍 GDB 使用的核心的技术 -ptrace。ptrace系统调用ptrace()系统调用是 Linux 提供的一个调试进程的工具,ptra...
2021-09-01 19:53:37 496
转载 网易传媒云原生探索-容器篇
网易传媒经过了一年多的探索及建设,已经将所有核心业务部署在容器环境内了。本文将以笔者在网易传媒整个容器的规划、设计、实施为内容,分享传媒在整个容器建设过程中的经验和教训,希望能给正在容器建设道路上前行的朋友们提供一些指导和帮助,避免走一些弯路。1 什么是云原生前两章为云原生的介绍和传媒的基础架构介绍,如果读者对这两块内容不感兴趣,可以直接跳到第三章云原生的产生云原生英文为Cloud Native,这个概念是Pivotal公司在2013年的时候首次提出,2015年,Pivotal公司的
2021-09-01 19:48:28 343
MIPS处理器设计透视(中文版)(屈建勤译)
2011-10-24
计算机组成原理教师用书(蒋本珊).pdf
2011-08-22
Windows网络编程(第二版中文).pdf
2011-02-10
Effective C++_3rd(侯捷译).pdf
2010-11-17
深度探索C++对象模型.pdf
2010-11-17
高级Bash编程指南
2010-09-18
高级Bash脚本编程指南.chm
2010-09-17
Linux.C.Api.chm
2008-12-27
Kubernetes1.13指南(KubernetesHandbook)(书栈网)(202005)
2022-12-13
Tomcat权威指南(第二版)下载pdf 高清完整版
2017-03-02
The Way to Go
2016-12-06
Hadoop实战 陆嘉恒 2011 第1版
2016-01-18
TheSingleUNIXSpecification(2013)
2015-03-29
Yii框架文档(2010.7.18)
2014-06-07
Quicksshd_V2.0.3.apk
2013-04-06
Debugging.with.gdb.中文版.pdf
2012-05-23
多核程序设计技术-通过软件多线程提升性能(英文版)
2012-04-15
vs.php2.10_for_vs2010
2012-04-13
Extending.and.Embedding.PHP.2006.chm
2011-12-17
计算机系统结构:量化研究方法(第三版).pdf
2011-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人