08 2021 档案
摘要:不可中断进程和僵尸进程 不可中断进程,一般是指在进程在和硬件交互为了保护进程数据和硬件一致,系统不允许其他进程中断打断该进程。 僵尸进程表示进程已经退出,但是它的父进程没有回收该进程所占用的资源。 进程运行状态 R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,
阅读全文
摘要:怎么查看系统的上下文切换情况 过多的上下文切换,会把 CPU 时间消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成了系统性能大幅下降的一个元凶。 vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
阅读全文
摘要:CPU上下文是什么 平均负载的三种场景中,其中最容易被忽视的就是多个进程竞争CPU的问题。 Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。 而在每
阅读全文
摘要:当系统变得卡顿时,我们通常会通过top或者uptime命令来了解系统负载情况。 $ uptime 19:47:30 up 6:00, 1 user, load average: 0.00, 0.01, 0.05 前3列分别是当前时间、系统运行的时间以及正在登录的用户数 19:47:30 //当前时间
阅读全文
摘要:关于linux内存管理 1. free命令 $ free -g 2. Slab介绍 Slab Allocation 是Linux 2.2之后引入的一个内存管理机制,专门用于缓存内核的数据对象,可以理解为一个内核专用的 对象池 ,可以提高系统性能并减少内存碎片。(Linux 2.6.23之后, SLU
阅读全文