随笔分类 - Linux系统性能优化
摘要:内存性能指标 最容易想到的是系统内存使用情况,比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等。 已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。 共享内存是通过 tmpfs 实现的,所以它的大小也就是 tmpfs 使用的内存大小。tmpfs 其实也是一种特殊的缓存。 可
阅读全文
摘要:机器配置:2 CPU,8GB 内存 需要预先安装 sysstat 等工具,如 yum install sysstat 终端中运行 free 命令,查看 Swap 的使用情况。 $ free total used free shared buff/cache available Mem: 816934
阅读全文
摘要:系统内存不足是处理机制 内存不足时这其实会导致两种可能结果,内存回收和 OOM 杀死进程 先来看后一个可能结果,内存资源紧张导致的 OOM(Out Of Memory),相对容易理解,指的是系统杀死占用大量内存的进程,释放这些内存,再分配给其他更需要的进程。 内存回收机制 大部分文件页,都可以直接回
阅读全文
摘要:进程使用内存概念 对普通进程来说,能看到的其实是内核提供的虚拟内存,这些虚拟内存还需要通过页表,由系统映射为物理内存。当进程通过 malloc() 申请虚拟内存后,系统并不会立即为其分配物理内存,而是在首次访问时,才通过缺页异常陷入内核中分配内存。为了协调 CPU 与磁盘间的性能差异,Linux 还
阅读全文
摘要:Buffer 和 Cache 的介绍 查看内存使用情况 # 注意不同版本的free输出可能会有所不同 $ free total used free shared buff/cache available Mem: 8169348 263524 6875352 668 1030472 7611064
阅读全文
摘要:内存工作的概述 Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。 虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指令可以处理数据的最大长度)的处理器,地址空间的范围也不
阅读全文
摘要:CPU 性能指标 最容易想到的应该是 CPU 使用率,这也是实际环境中最常见的一个性能指标。 CPU 使用率描述了非空闲时间占总 CPU 时间的百分比,根据 CPU 上运行任务的不同,又被分为用户 CPU、系统 CPU、等待 I/O CPU、软中断和硬中断等。 用户 CPU 使用率,包括用户态 CP
阅读全文
摘要:软中断(softirq)CPU 使用率升高也是最常见的一种性能问题。 中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力。 由于中断处理程序会打断其他进程的运行,所以,为了
阅读全文
摘要:进程状态 当 iowait 升高时,进程很可能因为得不到硬件的响应,而长时间处于不可中断状态。从 ps 或者 top 命令的输出中,它们都处于 D 状态,也就是不可中断状态; top 和 ps 是最常用的查看进程状态的工具,下面是一个 top 命令输出的示例,S 列(也就是 Status 列)表示进
阅读全文
摘要:环境准备 docker run --name nginx -p 10000:80 -itd feisky/nginx:sp docker run --name phpfpm -itd --network container:nginx feisky/php-fpm:sp 请求检查环境 curl ht
阅读全文
摘要:CPU 使用率 Linux 作为一个多任务操作系统,将每个 CPU 的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中断,并使用全局变量 Jiffies 记录了开机以来
阅读全文
摘要:上下文切换 进程在竞争 CPU 的时候并没有真正运行cpu 升高的罪魁祸首上下文切换;Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。而在每个任务运
阅读全文
摘要:运行uptime查看平均负载 [root@master ~]# uptime 23:24:59 up 12 days, 22:57, 2 users, load average: 0.02, 0.02, 0.05 每列的意思 23:24:59 // 当前时间 up 12 days, 22:57, /
阅读全文