Eu tenho um servidor de 24 núcleos com 64G de DRAM e ele está executando o Ubuntu Server 15.10. Eu estou ficando um comportamento estranho no que diz respeito à troca e uso de memória física. Eu nunca tive esse problema até que eu atualizei o Ubuntu para 15.10.
Você pode ver meu problema em "top":
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
Há um único usuário logado (eu), e eu tenho um único processo usando uma grande quantidade de memória virtual. No entanto, algo está limitando a metade da memória física, enquanto a partição swap está basicamente cheia. Eu observei esses processos (Synopsys Design Compiler) sendo executados, e eles não quebram a marca de 50% até que o swap seja preenchido. E outra coisa estranha é que o kswapd0 usa CPU muito alta (geralmente 100%). AFAIK, kswapd0 deve ser ligado a E / S e, portanto, não usar muito tempo de CPU.
Eu olhei para ver se havia algum limite imposto, mas o ulimit diz o contrário:
$ 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
Eu também tentei configurar o swappiness para 10, mas isso não ajudou.
Alguém pode me ajudar a descobrir por que esse sistema está se comportando mal?