On Mon, Nov 18, 2019 at 03:46:03PM +0100, Ekaterina Amez wrote:
>
>El 18/11/19 a las 15:16, Tomas Vondra escribió:
>>
>>Not sure I understand. Whenever PostgreSQL process needs memory it
>>requests it from the kernel by calling malloc(), and the amount of
>>availabe RAM is limited. So when kernel can't provide more memory,
>>it returns NULL.
>>
>Understood.
>
>>
>>If it finished a couple of minutes before, it's unlikely to be the
>>related. But hard to say, without knowing the details.
>
>Yeah, I thought the same but for me is too much coincidence and is
>suspicious (or at least a thing to have in mind).
>
>
>>No, that's just one of the memory contexts (they form a tree), using
>>only 1kB of memory. What matters is the "grand total"
>>
>>Grand total: 1009356 bytes in 130 blocks; 436888 free (72 chunks);
>>572468 used
>>
>>which is ~1MB.
>>
>OK, in my lack of knowledge I was understanding "memory context" as
>the whole message.
>
>
>>Another thing you might do is adding a swap (if you don't have one
>>already), as a safety.
>>
>>
>Excuse my ignorance but... swap? You mean some mechanism that prevents
>server to be unavailable by having a second instance running but not
>accesible and changing from one to the other when the main fails?
>(It's the best way I find to describe it, as I don't usually
>speak/write english).
>
swap = space on disk, so that OS can page out unused data from RAM when
there's memory pressure
It's a basic sysadmin knowledge, I think. Search for mkswap.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services