Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: spenchev в Feb 04, 2014, 15:23



Титла: Странно поведение на 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