



一、问题回顾 问题现象:线上业务,某个进程被卡住了,所有任务都不响应,导致业务中断。 问题原因:程序中调用了 system 命令,执行了一次 pidof 命令,然而作者万万没想到这个 pidof 命令会卡住了,导致整个进程都阻塞了。 排查过程 第一步,确定进程状态,看看进程在干什么:先通过 ps 命令得到进程的 pi ... 阅读更多
一、关于滑动窗口协议 在 TCP 协议中,所有的 SEQ 包发送出去都必须要受到对方的 ACK 才认为是发送成功,如果长时间没有收到 ACK 回复确认,发送方需要重新发送该包。而如果发送方每次都是发送一个包,然后等到接收方回复 ACK 了再发送下一个包,那么数据包的传输效率就相当低了。滑动窗口协议的作用就是为了解决这个 ... 阅读更多
本文内容来源于知乎问答:Cache 和 Buffer 都是缓存,主要区别是什么?,根据各回答内容整理得到。 首先整理下两者的概念: cache 是缓存,buffer 是缓冲。两者从名字来看十分相近,功能并不一样,不仔细琢磨很容易把两者混为一谈。 区别: 缓存的主要目的是为了提速,系统把部分磁盘的内存 ... 阅读更多
一、简介 go module 公共代理仓库,代理并缓存 go 模块。你可以利用该代理来避免 DNS 污染导致的模块拉取缓慢或失败的问题,加速你的构建。 简单来说就是国内访问被墙,go get 无法在线获取到仓库,代理仓库就是帮我们解决这个问题的。 二、使用方法 使用 go1.11 以上版本并开启 go module 机 ... 阅读更多
一、问题现象 使用小乌龟执行 push 的时候,弹框报错: 二、解决方案 右键文件夹空白处,进入 Tortoise 的右键菜单,选择 setting,弹出的界面中点击 Network: 替换 SSH client 为 git 的 ssh: