* [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory
@ 2013-08-14 16:41 Alex Moskalenko
2013-08-14 17:06 ` Viacheslav Dubrovskyi
0 siblings, 1 reply; 4+ messages in thread
From: Alex Moskalenko @ 2013-08-14 16:41 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
Здравствуйте!
Поделитесь пожалуйста опытом работы с PostgreSQL в контейнере OpenVZ.
Начиная с ядер 2.6.32-ovz-el-alt75 и заканчивая 2.6.32-ovz-el-alt100
наблюдаю одну и ту же картину: в процессе работы контейнера серверный
процесс PostgreSQL падает с SIGBUS, после чего мастер-процесс
перезапускает все остальные серверные процессы.
Ситуация проявляется далеко не сразу, а по прошествии некоторого времени
с момента старта контейнера. При анализе ситуации выяснилось, что
контейнер приближается к лимиту по physpages (используется VSwap,
поэтому все остальное - unlimited). Основной потребитель памяти -
дисковый кэш. При этом никакие лимиты никогда не превышаются и failcnt
(по всем ресурсам) всегда ноль. Когда текущее значение physpages
приближается к лимиту, PostgreSQL выдает следующее:
2013-08-08 14:27:51 MSK [26800] host=[local] db=db user=db: ERROR: could
not read block 2981 in file "base/88880/89603": read only 5216 of 8192 bytes
2013-08-08 14:27:51 MSK [26676] host=[local] db=db user=db: ERROR: could
not read block 2981 in file "base/88880/89603": read only 5216 of 8192 bytes
2013-08-08 14:27:52 MSK [26813] host=[local] db=db user=db: ERROR: could
not read block 2981 in file "base/88880/89603": read only 5216 of 8192 bytes
2013-08-08 14:27:56 MSK [26524] host= db= user=: LOG: server process
(PID 26753) was terminated by signal 7: Bus error
2013-08-08 14:27:56 MSK [26524] host= db= user=: LOG: terminating any
other active server processes
Описание проблемы похоже на
http://www.postgresql.org/message-id/CAK3UJREBcyVBtr8D7vMfU=uDdkjXkrPnGcuy8erYB0tMfKe1LA@mail.gmail.com.
От выделенного PostgreSQL shared_buffers зависит только одно - через
какое время он упадет. Буферов меньше - работает дольше.
Также в Changelog на
http://wiki.openvz.org/Download/kernel/rhel6-testing/042stab078.21 есть
упоминание об исправлении, которое, похоже, призвано решить эту
проблему: "[ubc/shmem] full size is charged at creation now in order to
return -ENOMEM in shmget(), not SIGBUS on an attempt to write into it
(PCLIN-31867)". Вот только на 2.6.32-ovz-el-alt100 (которое основано на
042stab079.4) PostgreSQL точно так же падает с той же диагностикой...
На данный момент PostgreSQL работает на HN. Без каких-либо
проблем/сбоев/падений. Но очень хочется вернуть его в контейнер....
PS На всякий случай: cat /proc/bc/VEID/resources
kmemsize 57991229 59351040
9223372036854775807 9223372036854775807 0
lockedpages 0 0
2048 2048 0
privvmpages 454308 462347
9223372036854775807 9223372036854775807 0
shmpages 43236 43237
9223372036854775807 9223372036854775807 0
numproc 206 219
1024 1024 0
physpages 149691 157290
524288 524288 0
vmguarpages 0 0 33792
9223372036854775807 0
oomguarpages 127680 133594
26112 9223372036854775807 0
numtcpsock 97 131
2048 2048 0
numflock 3 5
188 206 0
numpty 0 2
16 16 0
numsiginfo 0 6
256 256 0
tcpsndbuf 7036576 12626096
9223372036854775807 9223372036854775807 0
tcprcvbuf 10324296 15474008
9223372036854775807 9223372036854775807 0
othersockbuf 11560 83232
9223372036854775807 9223372036854775807 0
dgramrcvbuf 0 68864
9223372036854775807 9223372036854775807 0
numothersock 25 56
360 360 0
dcachesize 16529592 16561684
9223372036854775807 9223372036854775807 0
numfile 610 715
9312 9312 0
numiptent 20 20
128 128 0
swappages 2641 4644
262144 262144 0
--
WBR, Alex Moskalenko
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory
2013-08-14 16:41 [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory Alex Moskalenko
@ 2013-08-14 17:06 ` Viacheslav Dubrovskyi
2013-08-14 17:12 ` Alex Moskalenko
0 siblings, 1 reply; 4+ messages in thread
From: Viacheslav Dubrovskyi @ 2013-08-14 17:06 UTC (permalink / raw)
To: sysadmins
14.08.2013 19:41, Alex Moskalenko wrote:
> Здравствуйте!
>
> Поделитесь пожалуйста опытом работы с PostgreSQL в контейнере OpenVZ.
http://openvz.org/Postgresql_and_shared_memory читали?
--
WBR,
Viacheslav Dubrovskyi
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory
2013-08-14 17:06 ` Viacheslav Dubrovskyi
@ 2013-08-14 17:12 ` Alex Moskalenko
2013-08-14 17:28 ` Viacheslav Dubrovskyi
0 siblings, 1 reply; 4+ messages in thread
From: Alex Moskalenko @ 2013-08-14 17:12 UTC (permalink / raw)
To: sysadmins
14.08.2013 21:06, Viacheslav Dubrovskyi пишет:
> 14.08.2013 19:41, Alex Moskalenko wrote:
>> Здравствуйте!
>>
>> Поделитесь пожалуйста опытом работы с PostgreSQL в контейнере OpenVZ.
> http://openvz.org/Postgresql_and_shared_memory читали?
>
Да. С лимитами проблем нет, превышений лимитов тоже нет.
shared_buffers установлено в 1Гб.
Параметры памяти контейнера:
[root@ct /]# free
total used free shared buffers cached
Mem: 2097152 599936 1497216 0 0 41620
-/+ buffers/cache: 558316 1538836
Swap: 1048576 11824 1036752
[root@ct /]# ipcs -ml
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4043536
max total shared memory (kbytes) = 8087072
min seg size (bytes) = 1
--
WBR, Alex Moskalenko
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory
2013-08-14 17:12 ` Alex Moskalenko
@ 2013-08-14 17:28 ` Viacheslav Dubrovskyi
0 siblings, 0 replies; 4+ messages in thread
From: Viacheslav Dubrovskyi @ 2013-08-14 17:28 UTC (permalink / raw)
To: sysadmins
14.08.2013 20:12, Alex Moskalenko wrote:
> 14.08.2013 21:06, Viacheslav Dubrovskyi пишет:
>> 14.08.2013 19:41, Alex Moskalenko wrote:
>>> Здравствуйте!
>>>
>>> Поделитесь пожалуйста опытом работы с PostgreSQL в контейнере OpenVZ.
>> http://openvz.org/Postgresql_and_shared_memory читали?
>>
> Да. С лимитами проблем нет, превышений лимитов тоже нет.
>
> shared_buffers установлено в 1Гб.
А /sbin/sysctl kernel.shmmax на хардноде?
>
> Параметры памяти контейнера:
> [root@ct /]# free
> total used free shared buffers cached
> Mem: 2097152 599936 1497216 0 0 41620
> -/+ buffers/cache: 558316 1538836
> Swap: 1048576 11824 1036752
> [root@ct /]# ipcs -ml
>
> ------ Shared Memory Limits --------
> max number of segments = 4096
> max seg size (kbytes) = 4043536
> max total shared memory (kbytes) = 8087072
> min seg size (bytes) = 1
>
>
--
WBR,
Viacheslav Dubrovskyi
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-08-14 17:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-14 16:41 [Sysadmins] OpenVZ CT, PostgreSQL и Shared memory Alex Moskalenko
2013-08-14 17:06 ` Viacheslav Dubrovskyi
2013-08-14 17:12 ` Alex Moskalenko
2013-08-14 17:28 ` Viacheslav Dubrovskyi
ALT Linux sysadmins discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
public-inbox-index sysadmins
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sysadmins
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git