Article ID: 122108, created on Jun 20, 2014, last review on Jun 20, 2014

  • Applies to:
  • Virtuozzo 6.0
  • Virtuozzo containers for Linux 4.7
  • Virtuozzo hypervisor

Symptoms

  1. Container takes a long time to stop/start
  2. Applications inside the container take a long time to start and do not work properly (Plesk Panel cannot be opened, websites running in the container cannot be opened, etc.)
  3. The majority of processes inside the container are in 'D' state, hanging on I/O operations:

    # vzps -E 2233 -o veid,uid,pid,ppid,vsz,rsz,state,wchan:20,cmd axfww | awk '$7~/[RD]/||NR==1;'
    2233   108 41515 41514 13292 9312 D iolimit_virtinfo      |       |       \_ drwebd.real
    2233     0 58233 64188  5988  696 D iolimit_virtinfo      \_ /sbin/syslogd
    2233    33 41558 41138 169520 7960 D generic_file_aio_wri  |   \_ /usr/sbin/apache2 -k start
    2233 10006 43889 41558 218544 15068 D iolimit_virtinfo    |   |   \_ /usr/bin/php5-cgi -c /var/www/vhosts/ampa.sant-pau.com/etc/php.ini
    2233    33 36691 41138 328624 27288 D generic_file_aio_wri  |   \_ /usr/sbin/apache2 -k start
    2233    33 37419 41138 321148 17668 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37440 41138 329908 28148 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37441 41138 328656 26720 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37453 41138 328576 26480 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37454 41138 330188 28984 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37455 41138 328936 27612 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37456 41138 329432 27800 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37476 41138 329772 28056 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233    33 37477 41138 325028 23260 D iolimit_virtinfo    |   \_ /usr/sbin/apache2 -k start
    2233  2020 13562  9147 27356 1604 D iolimit_virtinfo      |   |   \_ bin/qmail-queue
    2233  2522 48191 43952 27360 1608 D iolimit_virtinfo      |   \_ bin/qmail-queue
    2233   110 38730 44736 10884  968 D filp_open             |   \_ /usr/bin/imapd Maildir
    2233   110 55856 44736 10884  968 D iolimit_virtinfo      |   \_ /usr/bin/imapd Maildir
    2233   110 30885 44736 10884 1024 D filp_open             |   \_ /usr/bin/imapd Maildir
    2233   110 41010 44736 10884  976 D iolimit_virtinfo      |   \_ /usr/bin/imapd Maildir
    2233   110 44076 44736 10884  956 D iolimit_virtinfo      |   \_ /usr/bin/imapd Maildir
    2233   110 44566 44736 10884  972 D filp_open             |   \_ /usr/bin/imapd Maildir
    2233     0 44057 49013 50528 2796 D iolimit_virtinfo      |   \_ sshd: [accepted]
    2233   106 17898 53250 123040 14196 D iolimit_virtinfo    |   \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
    2233  1001 32012 60569 199252 9272 D iolimit_virtinfo     |   |   \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32585 60569 196240 4672 D iolimit_virtinfo     |   |   \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32619 60569 196240 4664 D generic_file_llseek  |   |   \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32643 60569 196240 4664 D vefs_llseek          |   |   \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32665 60569 196240 4664 D vefs_llseek          |   |   \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 31760  3815 199252 9276 D iolimit_virtinfo     |       \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32398  3815 196240 4680 D iolimit_virtinfo     |       \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32411  3815 196240 4676 D generic_file_aio_wri  |       \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32430  3815 196240 4668 D generic_file_llseek  |       \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    2233  1001 32443  3815 196240 4668 D vefs_llseek          |       \_ /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaadm
    

Cause

iolimit parameter configured for the container is too low:

# vzlist -o iolimit 2233
   IOLIMIT
      3000

Resolution

Configure proper iolimit value for the container, or set the value to 0 (unlimited):

# vzctl set 2233 --save --iolimit 0
Set up iolimit: 0
Saved parameters for Container 2233

Regarding the parameter itself:

 --iolimit limit[B|K|M|G]
       Assigns I/O limit to CT. If no suffix is provided, the value is assumed to be in megabytes per second. Available suffixes are:
       b, B -- bytes
       k, K -- kilobytes
       m, M -- megabytes
       g, G -- gigabytes
       t, T -- terabytes

 By default each CT has limit of 0 (unlimited).  The maximum disk I/O bandwidth limit you can set for a Container is 2 GB per second.

Search Words

iolimit_virtinfo

generic_file_llseek

filp_open

iolimit

vefs_llseek

a26b38f94253cdfbf1028d72cf3a498b 2897d76d56d2010f4e3a28f864d69223 e8e50b42231236b82df27684e7ec0beb d02f9caf3e11b191a38179103495106f 0dd5b9380c7d4884d77587f3eb0fa8ef 0c05f0c76fec3dd785e9feafce1099a9 c62e8726973f80975db0531f1ed5c6a2

Email subscription for changes to this article
Save as PDF