[Users] Some details of vSwap implementation in Virtuozzo 7

Daniel Pearson daniel at knownhost.com
Tue Jul 21 18:55:12 MSK 2020


Hi there,


Thanks for posting this, I have some doubts on your explanation along 
with some information we received in tickets as well. For clarification 
we primarily run web-server VM's.

We do not use swappages, this is set 0:0 within the containers. However, 
over a long period of time (100~ days) regardless of the kernel we use, 
we get very odd processes that drop into the node level swap regardless 
of free memory.

So during these 100 days available memory has never gone to zero, nor 
has it gone to the point where this many processes should swap. However, 
we get 20GB worth of swap, the majority of which end up being very 
active applications such as MySQL, httpd processes,

Here's an example of top-talkers on one node. Almost all of the nodes 
MySQL processes have been shoved into swap:

mysqld 892471 910716 kB
mysqld 850086 836888 kB
mysqld 523405 594144 kB
java 439947 584196 kB
java 374100 547472 kB
mysqld 341064 507524 kB
mysqld 92760 490416 kB
java 875884 440088 kB
mysqld 9569 381052 kB
mysqld 470268 321076 kB
mysqld 666743 268032 kB
mysqld 194384 258688 kB
mysqld 599119 254652 kB
mysqld 611459 240444 kB
mysqld 597461 237556 kB
mysqld 1000867 233012 kB
mysqld 333669 228892 kB
mysqld 547882 193692 kB
mysqld 823813 176632 kB
mysqld 665769 172052 kB
mysqld 991960 169852 kB
mysqld 963033 157692 kB
mysqld 690525 148008 kB
mysqld 799661 141764 kB
mysqld 69196 139316 kB
mysqld 602201 136296 kB
mysqld 804203 135628 kB
mysqld 180974 133384 kB
mysqld 50762 132928 kB
named 96779 128304 kB
mysqld 218568 125624 kB
mysqld 33321 124108 kB
mysqld 633310 115376 kB


Very few if any of these containers have OOM'd or gone anywhere near 
their memory limit.

At this very moment here's what the node looks like:

free -m
               total        used        free      shared buff/cache   
available
Mem:         128736       46315        2570        2521 79850       78853
Swap:         32256       23040        9216

78gb memory free for the taking only consumed by cache and buffers, 
however mysql, a very active application, continues to get tossed into 
swap. Swappiness is also set to 10 on the node to attempt to keep items 
out of swap.

"b) if there is free memory on the host, the Container's memory is saved 
in a
     special swap cache in host's RAM and no real write to host's 
physical swap
     occurs"

But how can this be shown or proven? I do not believe this bit functions 
at all on the nodes we run.

We've never had this issue before with VZ6, it only has appeared with 
VZ7 but we have nodes at random showing anywhere from 5-25gb of swap 
usage and primarily intense applications such as MySQL and httpd end up 
in swap for no apparent reason.

Any insight is appreciated.

Daniel~





More information about the Users mailing list