Добрый день. Столкнулся с такой проблемой и не могу понять в чем дело.
В контейнере всего 512MB RAM и 512 swap
CT-065f2ef8 /# free
total used free shared buffers cached
Mem: 524288 48500 475788 36 0 33268
-/+ buffers/cache: 15232 509056
Swap: 524288 0 524288
Используем 200Mb
Для этого запускаю python и
a = bytearray(1024 * 1024 * 200)
в vmstat это видно
CT-065f2ef8 /# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 450956 0 41424 0 0 0 0 0 17 0 0 99 0 0
0 0 0 450964 0 41424 0 0 0 0 0 15 0 0 100 0 0
0 0 0 450840 0 41424 0 0 0 0 0 23 0 0 100 0 0
0 1 0 245660 0 41436 0 0 0 0 0 43 7 9 81 3 0
0 0 0 245548 0 41428 0 0 0 0 0 15 0 0 100 0 0
0 0 0 245548 0 41428 0 0 0 0 0 27 0 0 100 0 0
Теперь начнем заполнять pagecache и выделим еще памяти для переменной в ipython
в итоге увидим вот такую картину
2 0 0 52 0 163612 0 0 0 0 0 62 1 85 8 6 0
2 0 61224 96 0 1040 0 0 0 0 0 81 6 70 0 24 0
1 0 353408 120600 0 6600 0 0 0 0 0 110 8 83 9 0 0
1 0 353408 108000 0 19124 0 0 0 0 0 23 1 96 3 0 0
1 0 353408 95952 0 31132 0 0 0 0 0 13 0 96 4 0 0
1 0 353408 83164 0 43924 0 0 0 0 0 15 0 98 2 0 0
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 353408 71244 0 55912 0 0 0 0 0 13 0 97 3 0 0
1 0 353408 59164 0 67968 0 0 0 0 0 15 1 96 1 2 0
1 0 353408 47208 0 79972 0 0 0 0 0 13 0 97 3 0 0
1 0 353312 34956 0 92060 0 0 0 0 0 23 0 97 3 0 0
1 0 353312 23260 0 103812 0 0 0 0 0 25 0 97 3 0 0
Какого хрена pagecache вытесняет память процесса в swap?