[Users] OOM and /etc/vz/oom-groups.conf

Kir Kolyshkin kir at openvz.org
Wed Oct 2 15:47:48 PDT 2013


On 10/02/2013 12:07 PM, Mark J. wrote:
> On Wed, Oct 02, 2013 at 11:48:02AM -0700, Kir Kolyshkin wrote:
>>> 15195 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/server.noticias365.net.pid
>>> 31661 ?        Sl     1:43  \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysql.error.log --open-files-limit=8192 --pid-file=/var/lib/mysql/server.noticias365.net.pid --socket=/tmp/mysql.sock --port=3306
>> As you can see, mysqld parent is not "init" as it is set in config file,
>> but "mysqld_safe", therefore the rule is not applicable.
> I noticed that and tried using mysqld_safe and it was still killed off. Does the oom killer use the process in the vm or the node? Cause from the node it looks to be run by init:
>
> init-+-atop
>       |-auditd---{auditd}
>       |-cf-execd
>       |-crond
>       |-init-+-/usr/local/cpan---spamd\040child
>       |      |-atd
>       |      |-atop
>       |      |-cPhulkd\040-\040proce
>       |      |-cf-execd
>       |      |-cpanellogd\040-\040sl
>       |      |-cpdavd\040-\040accept
>       |      |-cpsrvd-ssl
>       |      |-crond
>       |      |-dovecot-+-dovecot-auth
>       |      |         |-3*[imap]
>       |      |         |-2*[imap-login]
>       |      |         `-2*[pop3-login]
>       |      |-exim
>       |      |-httpd-+-2*[httpd]
>       |      |       |-6*[httpd---26*[{httpd}]]
>       |      |       `-leechprotect
>       |      |-mysqld_safe---mysqld---24*[{mysqld}]
>
> And I was only using init because thats what the file had itself for most everything in it I just changed the numbers around.

I suggest you to just put * as parent name then.

>
> vm config is:
>
> ONBOOT="yes"
> PHYSPAGES="0:524288"

This is 2G RAM. I haven't seen your my.cnf, but 2G is pretty generous,
I am not really sure mysqld hits this, or is it a global memory shortage.
Show me your /proc/user_beancounters or, yet better, vzubc output --
after mysql is killed -- to find out. We are interested in failcnt/FAIL 
column.

Also, I wonder how much RAM do you have on your server, and how
many such containers do you run on it?

> SWAPPAGES="0:131072"

This is 512M. Usually I set the swap to be twice the RAM.

> KMEMSIZE="1073741824"

This is 1G. Doesn't really make sense to limit it (kmemsize is accounted 
into
physpages anyway), but I guess it's harmless.

> LOCKEDPAGES="262144"

1G as well. Should be harmless.

> PRIVVMPAGES="unlimited"
> SHMPAGES="unlimited"
> NUMPROC="unlimited"
> VMGUARPAGES="unlimited"
> OOMGUARPAGES="unlimited"
> NUMTCPSOCK="unlimited"
> NUMFLOCK="unlimited"
> NUMPTY="unlimited"
> NUMSIGINFO="unlimited"
> TCPSNDBUF="unlimited"
> TCPRCVBUF="unlimited"
> OTHERSOCKBUF="unlimited"
> DGRAMRCVBUF="unlimited"
> NUMOTHERSOCK="unlimited"

These looks OK and harmless. In fact, it's even better
to remove those, but it doesn't matter much.

> DCACHESIZE="536870912"

This is 512M. Harmless (and can be removed as well).

> NUMFILE="unlimited"
> NUMIPTENT="unlimited"
> DISKSPACE="78643200:78643200"
> DISKINODES="39321600:39321600"
> QUOTATIME="86400"

QUOTATIME doesn't make sense since your DISKSPACE and DISKINODES
has the same soft and hard limit. Nevertheless, it's harmless.

> CPUUNITS="1000"
> VE_ROOT="/vz/root/$VEID"
> VE_PRIVATE="/vz/private/$VEID"
> OSTEMPLATE="centos-6-x86_64-cpanel-default"
> ORIGIN_SAMPLE="vswap-solus"
> IP_ADDRESS="removed"
> HOSTNAME="removed"
> NAMESERVER="removed"
> CPULIMIT="400"
> CPUS="8"
> AVNUMPROC="unlimited"
>



More information about the Users mailing list