Linux 系统没有业务程序运行,经过 top
观察,相似以下图所示,CPU 很空闲,可是 load average 却很是高,以下图所示。服务器
load average
是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。出现此种状况时,多是因为僵死进程致使的。能够经过指令 ps -axjf
查看是否存在 D 状态进程。操作系统
D 状态是指不可中断的睡眠状态。该状态的进程没法被 kill,也没法自行退出。只能经过恢复其依赖的资源或者重启系统来解决。code
操做系统都用分页机制来管理物理内存,操做系统将磁盘的一部分划出来做为虚拟内存,因为内存的速度要比磁盘快得多,因此操做系统要按照某种换页机制将不须要的页面换到磁盘中,将须要的页面调到内存中,因为内存持续不足,这个换页动做持续进行,kswapd0是虚拟内存管理中负责换页的,当服务器内存不足的时候kswapd0会执行换页操做,这个换页操做是十分消耗主机CPU资源的。若是经过top发现该进程持续处于非睡眠状态,且运行时间较长,能够初步断定系统在持续的进行换页操做,能够将问题转向内存不足的缘由来排查。cdn
kswapd0 进程占用了系统大量 CPU 资源。blog
Linux 系统经过分页机制管理内存的同时,将磁盘的一部分划出来做为虚拟内存。而 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。当系统内存不足时,kswapd0 会频繁的进行换页操做。而因为换页操做很是消耗 CPU 资源,因此会致使该进程持续占用较高 CPU 资源。队列
若是经过 top
等监控发现 kswapd0 进程持续处于非睡眠状态,且运行时间较长并持续占用较高 CPU 资源,则一般是因为系统在持续的进行换页操做所致。则能够经过 free 、ps 等指令进一步查询系统及系统内进程的内存占用状况,作进一步排查分析。进程