Титла: Странно поведение на OpenVZ сървър Публикувано от: spenchev в Feb 04, 2014, 15:23 Здравейте
Забелязах странно поведение на OpenVZ сървър, който пуснах в production - една от машините на нода вдига висок load. Всичките и ресурси на контейнера се използват на 100%, но на нода все още има свободни ресурси, както може да видите по-долу. [root@ovz01 ~]# top top - 18:26:13 up 28 days, 9:02, 1 user, load average: 14.04, 11.09, 7.37 Tasks: 315 total, 21 running, 292 sleeping, 0 stopped, 2 zombie Cpu(s): 16.7%us, 1.8%sy, 0.0%ni, 81.5%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 8031308k total, 6993140k used, 1038168k free, 478168k buffers Swap: 10485752k total, 0k used, 10485752k free, 5125828k cached - This is the laverage of all ctids : [root@ovz01 ~]# vzlist -o ctid,laverage CTID LAVERAGE 102 0.00/0.00/0.00 105 14.31/11.68/7.90 106 0.00/0.00/0.00 107 0.00/0.00/0.00 108 0.00/0.00/0.00 109 0.00/0.00/0.00 - The CPU utilisation : [root@ovz01 ~]# vzcpucheck Current CPU utilization: 1042 Power of the node: 480017 - The kernel version : [root@ovz01 ~]# uname -a 2.6.32-042stab079.5 #1 SMP Fri Aug 2 17:16:15 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux Въпросът ми е - може ли да се доверя на top командата, че са взети ресурсите само на контейнера, а не на целия нод или има друг, по-добър начин да проверя използваните ресурси? Благодаря предварително! Титла: Re: Странно поведение на OpenVZ сървър Публикувано от: EazySnatch в Feb 07, 2014, 15:35 Здравей ,
За да провериш дали контейнера си стига лимите ползвай тази команда вътре от контейнера: cat /proc/user_beancounters или vzctl exec [CONTAINER_NUMBER] cat /proc/user_beancounters ще видиш линии като kmemsize , privvmpages,shmpages последната колона "failcnt" те интересува. Тя ти показва колко колко пъти си е ударил лимита. Ако стойността е цифри значи контейнера иска повече ресурси от дадените му. Като стартираш "top" натисни 1 ,за да ти искара всички процесори ,за да видиш натоварването на всеки по отделно Като ти гледам output-a процесора ти е над 80% idle тоест грижа нямаш явно просто контейнера се ползва . vzlist понякога може да НЕ ти даде ТОЧНИТЕ данни заради забаване от ъпдейтите. Ето това ще ти изкара всички контейнери каквъв им е LOAD AVG в реално време директно от тях. for i in `vzlist -H -o ctid`; do echo "CTID: ${i} `vzctl exec ${i} cat /proc/loadavg`"; done Друго туулчета които да разгледаш vztop -b -c -n 1 -E vzps auxfww -E |