标签 linux 下的文章

25 张图,一万字,拆解 Linux 网络包发送过程

在开始今天的文章之前,我先来请大家思考几个小问题。问1:我们在查看内核发送数据消耗的 CPU 时,是应该看 sy 还是 si ?问2:为什么你服务器上的 /proc/softirqs 里 NET_RX 要比 NET_TX 大的多的多?问3:发送网络数据的时候都涉及到哪些内存拷贝操作?这些问题虽然在线上经常看到,但我们似乎很少去深究。如果真的能透彻地把这些问题...

mp.weixin.qq.com

Linux CPU 性能优化指南

本文作者:allenxguo,腾讯 QQ 音乐后台开发工程师 本文主要帮助理解 CPU 相关的性能指标,常见的 CPU 性能问题以及解决方案梳理。系统平均负载 简介 系统平均负载:是处于可运行或不可中断状态的平均进程数。可运行进程:使用 CPU 或等待使用 CPU 的进程不可中断状态进程:正在等待某些 IO 访问,一般是和硬件交互,不可被打断(不可被打断...

mp.weixin.qq.com

漫画:一台 Linux 服务器最多能支撑多少个 TCP 连接?

困惑很多人的并发问题 在网络开发中,我发现有很多同学对一个基础问题始终是没有彻底搞明白。那就是一台服务器最大究竟能支持多少个网络连接?我想我有必要单独发一篇文章来好好说一下这个问题。很多同学看到这个问题的第一反应是65535。原因是:“听说端口号最多有65535个,那长连接就最多保持65535个了”。是这样的吗?还有的人说:“应该受TCP连接里四元组的空间大...

mp.weixin.qq.com

Linux 进程、线程、文件描述符的底层原理

说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别。Linux 中的进程其实就是一个数据结构,顺带可以理解文件描述符、重定向、管道命令的底层工作原理,最后我们从操作系统的角度看看为什么说线程和进程基本没有区别。一、进程是什么 首先,抽象地来说,我们的计算机就是这个东西: 这个大的矩形表示计...

mp.weixin.qq.com

看完这篇你一定能掌握 Linux

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。有很多同学微信问我,Linux命令这么多,该怎么从入门到精通?其实,这个事情非常的simple,这篇文章将会带你飞。文章非常的长,要挑一个阳光明媚的sunshine weekend,耐心去搞定。本文将由一个Linux命令概览开始,说明Linux命令的方方面面。如果你读完这部分还是一头...

mp.weixin.qq.com