Linux不得不知道的十个系統进程
前言 在日常运维工作中,经常会看到一些奇怪的系统进程占用资源比较高。而且总是会听到业务线同学询问“xxx这个是啥进程啊?咋开启了这么多?” 而这些系统级的内核进程都是会用中括号括起来的,它们会执行一些系统的辅助功能(如将缓存写入磁盘);无括号的进程都是用户们执行的进程(如php、nginx等)。 如下图所示: 下面就为大家普及10个比……
为什么I/O慢会导致Linux负载飙升?
一、CPU利用率和负载率的区别 先来一张 top 命令图。 这里要区别 CPU 负载(Load)和 CPU 利用率,它们是不同的两个概念,但它们的信息可以在同一个 top 命令中进行显示。 什么是负载? 简单来说,负载(Load)指标表示一段时间内,系统有多少个运行的任务,也就是 CPU 使用队列的长度统计信息,这个数字越小越好。任务的统计包含: 正在 ……
Linux网桥功能学习
一、背景知识 在说网桥之前,先描述几个概念,有助于对网桥的功能及实现有更深的理解。 一个交换网络的逻辑图: 1. 冲突域 一个冲突域由所有能够看到同一个冲突或者被该冲突涉及到的设备组成。以太网使用C S M A / C D(Carrier Sense Multiple Access with Collision Detection,带有冲突监测的载波侦听多……
Linux五种IO模型浅谈
文件描述符 我们知道Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用,内核给我们返回一个文件描述符(file descriptor,简称fd)。我们通过ls -l /proc/${pid}/fd/ 可以看到进程${pid}占用的所有描述符。而对一个……
Linux命令:pigz多线程压缩工具
学习Linux系统时都会学习这么几个压缩工具:gzip、bzip2、zip、xz,以及相关的解压工具。关于这几个工具的使用和相互之间的压缩比以及压缩时间对比可以看:Linux中归档压缩工具学习 那么Pigz是什么呢?简单的说,就是支持并行压缩的gzip。Pigz默认用当前逻辑cpu个数来并发压缩,无法检测个数的话,则默认并发8个线程,也可以使用-p指定线程数……
使用Hcache查看是谁占用了系统Buffer&Cache?
一、hcache Linux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Linux当前缓存了哪些文件的小工具hcache。 Hcache作者:伊布 前几天看到有个人用go写了个pcstat,可以查看某个文件是否被缓存(作者的目的是数据……
HugePage是否是拯救性能的万能良药?
一、准备知识 在阅读本文之前,需要读者至少了解以下基础知识 CPU Cache的基本概念,具体可参见 关于CPU Cache – 程序猿需要知道的那些事。 NUMA的基本概念,具体可参见 NUMA架构的CPU — 你真的用好了么?。 目前Linux基于多核CPU繁忙程度的线程调度机制,参看Chip Multi Processing aware ……
Linux系统初始化–持续更新
版本:V1.0 时间: 2017-3-13 Auth:彭东稳 一、系统安装 1)机器选型 这个根据业务和预算进行评估,比如这个机器是做什么用途,常用的有DB、Web、虚拟化、中间件,NoSQL等。跑不同的应用可能对硬件的侧重点不同。 2)Raid选型 同样也是根据需求,常用有:Raid0、Raid1、Raid5、Raid01、Raid10等。如果是为了保证安……
通过学习Linux内存分配策略,搞明白进程OOM机制
第一章:学习Linux内存分配策略 今天想提到的是线上一个4G的RDS实例,发生了OOM(out of memory)的问题,MySQL进程被直接Kill掉了。在解释这个问题的时候,我们首先需要从Linux系统内存分配策略讲起。 一般写C语言程序,我们习惯使用malloc动态的申请内存空间(Java由JVM负责内存管理),malloc函数会向操作系统申请一段……
Linux命令:xargs
简介 之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如,你想查找系统中某个文件并删除掉,首先你会想到使用find命令找出文件,然后删除掉: $ find /tmp -perm +700 1 ……
多队列网卡及网卡中断绑定阐述
多队列网卡介绍 多队列网卡顾名思义就是由原来的单网卡单队列变成了现在的单网卡多队列。多队列网卡是一种技术,最初是用来解决网络IO QoS (quality of service)问题的,后来随着网络IO的带宽的不断提升,单核CPU不能完全处满足网卡的需求,体现最为明显的就是单核CPU处理不了网卡大量的数据包请求(软中断)而造成大量丢包,其实当网卡收到数据包时……