> Linux教程 > 系统运维 >

Linux主机kswapd0 CPU占用很高

Linux主机登主机CPU负载很高,登录服务器top+T发现如下信息:

top - 18:59:49 up 8 days,  9:22,  1 user,  load average: 1.24, 1.23, 1.23

Tasks: 126 total,   2 running, 124 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.9 us, 26.3 sy,  0.0 ni, 69.4 id,  0.1 wa,  0.0 hi,  0.2 si,  0.2 st
KiB Mem:   3620188 total,  3283788 used,   336400 free,    36616 buffers
KiB Swap:        0 total,        0 used,        0 free.   624744 cached Mem
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                      
70 root      20   0       0      0      0 R  99.7  0.0 633:08.80 kswapd0                                                      
15427 admin     20   0 6071244 2.235g   5720 S  20.9 64.7   1212:00 java                                                         
23749 admin     20   0   79696  31316   1356 S   0.7  0.9   9:44.83 nginx                                                        
23752 admin     20   0   79408  30720   1356 S   0.7  0.8   7:25.11 nginx   

 

操作系统都用分页机制来管理物理内存,操作系统将磁盘的一部分划出来作为虚拟内存,由于内存的速度要比磁盘快得多,所以操作系统要按照某种换页机制将不需要的页面换到磁盘中,将需要的页面调到内存中,由于内存持续不足,这个换页动作持续进行,kswapd0是虚拟内存管理中负责换页的,当服务器内存不足的时候kswapd0会执行换页操作,这个换页操作是十分消耗主机CPU资源的。所以这个也比较容易产生误导觉得是CPU不足的问题,通过上述的解释发现原来是内存不足了 。

 
(责任编辑:IT)