Re: Странный рост показаний счётчика dcachesize [message #48553 is a reply to message #48265] |
Mon, 22 October 2012 11:16 |
kopytov
Messages: 17 Registered: July 2007 Location: Cyprus, Limassol
|
Junior Member |
|
|
Спасибо за подробное разъяснение. Всё происходит так как вы говорите. Я попробовал проверить в тестовом контейнере и вот такой скрипт увеличил dcachesize до гигабайтов за считанные минуты:
#!/usr/bin/perl
use strict;
use warnings;
use File::Temp ();
while (1) {
my $tmp_fh = File::Temp->new();
my $tmp_fname = $tmp_fh->filename();
my @tmp_stat = stat $tmp_fname;
unlink $tmp_fname;
}
При этом, когда достигается предел, память больше не расходуется и ничего страшного не происходит - даже ООМ-киллер никого не трогает.
Единственное что мне осталось непонятно, откуда такое расхождение в показаниях занятости памяти в контейнере и на хост-ноде. Если посмотреть на графики, которые я опубликовал вначале, то на них видно, что за эти 12 часов в контейнере потребление памяти выросло примерно на 1,8-1,9 Гбайт, но в самой системе - на 450-500 Мбайт. Разница почти в четыре раза, что выглядит довольно странным.
koct9i wrote on Mon, 22 October 2012 08:54dcache считается в ресурсы dcachesize и kmemsize, а kmemsize поделённый на 4096 считается в physpages.
Так что поставьте лимит на dcachesize или kmemsize, скажем в 1Gb.
В том ядре был баг что лимит на physpages не очень хорошо лимитирует dcache и ядро может постреливать OOM-килами время от времени.
Спасибо за совет, так и сделаю.
|
|
|