我有一个带有64G DRAM的24核服务器,它运行的是Ubuntu Server 15.10.我在交换和物理内存使用方面遇到了一些奇怪的行为.在我将Ubuntu升级到15.10之前,我从未遇到过这个问题.
你可以在’顶部’看到我的问题:
top - 18:52:09 up 1 day,2:25,3 users,load average: 1.64,1.30,1.18 Tasks: 525 total,2 running,523 sleeping,0 stopped,0 zombie %cpu(s): 0.3 us,1.3 sy,0.0 ni,97.0 id,1.4 wa,0.0 hi,0.0 si,0.0 st KiB Mem: 65937528 total,37526160 used,28411368 free,14396 buffers KiB Swap: 67071996 total,67071724 used,272 free. 104304 cached Mem PID USER PR NI VIRT RES SHR S %cpu %MEM TIME+ COMMAND 363 root 20 0 0 0 0 R 100.0 0.0 324:02.98 kswapd0 6725 theosib 20 0 99.398g 0.034t 8920 D 12.0 55.1 59:08.71 common_shell_ex
有一个用户登录(我),我有一个使用大量虚拟内存的进程.但是,某些东西限制在大约一半的物理内存,而交换分区基本上是满的.我已经看过这些进程(Synopsys Design Compiler)运行,并且在交换填充之前它们不会突破50%的标记.另一个奇怪的事情是kswapd0使用非常高(通常是100%)的cpu. AFAIK,kswapd0应该受I / O限制,因此不会占用大量cpu时间.
我看看是否有任何限制,但ulimit说不然:
$ulimit -a core file size (blocks,-c) 0 data seg size (kbytes,-d) unlimited scheduling priority (-e) 0 file size (blocks,-f) unlimited pending signals (-i) 257447 max locked memory (kbytes,-l) 64 max memory size (kbytes,-m) unlimited open files (-n) 1024 pipe size (512 bytes,-p) 8 POSIX message queues (bytes,-q) 819200 real-time priority (-r) 0 stack size (kbytes,-s) 8192 cpu time (seconds,-t) unlimited max user processes (-u) 257447 virtual memory (kbytes,-v) unlimited file locks (-x) unlimited
我也试过将swappiness设置为10,但这没有帮助.
任何人都可以帮我弄清楚为什么这个系统行为不端?