Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqTZE-00A1XC-EI for pgsql-general@arkaria.postgresql.org; Tue, 17 Sep 2024 08:28:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sqTZD-007GjL-ST for pgsql-general@arkaria.postgresql.org; Tue, 17 Sep 2024 08:28:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqSp5-006ZjQ-6v for pgsql-general@lists.postgresql.org; Tue, 17 Sep 2024 07:40:31 +0000 Received: from mail-db5eur02on20710.outbound.protection.outlook.com ([2a01:111:f403:2608::710] helo=EUR02-DB5-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sqSp0-001c3F-BV for pgsql-general@lists.postgresql.org; Tue, 17 Sep 2024 07:40:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gyw5q/6KA6W6Xnnic/goAbAinymMyS/sQZYDYKHdTLAdy/aXs+FJPiaT7bTgf6c5hx3rwJpAdgFO6wXE/01yqzqpNfk57kFWwjerKn26tqCf/Trtl+5o4wmInhNLz/zbagIBfr8qwvoks4oD2OspKtd1Z5U3eGQLYGGlRmaRu5H8rMWJjndpHY3dMTIiRgOcvIRZqFU0OA2ihfyVW4PEK8qB4HxKjbeS5WOxYpnsSRVpMDeoHacA8EdvV3qPM8/fFFPeI9Buo4p2ybU1IN88fTq2JCKUouaAuvDHs28qL77oWoJv7Tn5b35+2X2XUb2cJQAiU51gmKiZE6epOaD44Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=R0ORwjLNr20ElVLhKmWtX+od8BGlmW53wgFlYQI5BzI=; b=Co9T74k1HIEVy3BdXCIxus7iPaJBq7StVSWvMo85aIz4QXduAbjdM3mj9MIp4mqqXnO3pP17ZkIio9b5BnsA9Gk4S1bCZ7KG8TB5eJkhu5hj/gti/y3sIpwR2VuJLOmY/OEnt5C43+oswVoVqvqDThzlLSR2kxUKLU1N/1s8oneRKl0iCu2AQZuPNSaOja6b2PcoRz0uIBNFvwyH/65uSWUKgJ6XqR0ob2cq1gIm6GYpdniv9IjumQCjxMiQ7dP11dZPYgQmbE93VIv/ARmtvR3X4O1jOZCNm8UYfDGTbTLPRGSoMqdc7n9pmQk5BhMewyhwPKCpz1rBhc6svx2CWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=holmsecurity.com; dmarc=pass action=none header.from=holmsecurity.com; dkim=pass header.d=holmsecurity.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=holmsecurity.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=R0ORwjLNr20ElVLhKmWtX+od8BGlmW53wgFlYQI5BzI=; b=KVp7IvXM0HssNsnkSxCcsbkpcQyf8uGUJLeOQaIiN6lnFOfiqHSkRoHtzvNWQFY5WHXxmQ67H/Yc7kHM9Ao6WGfSYaDE2NVyFAZflYvq0EAIdTmL4zaRkXyIgESH+HKDvk3/FnTWlvMVosr0fQYd1Vk6KCDUhoM+8edD/35gQWXUyk4NFbxFH1ilcuxkvxC8fw0J9W40rYwpT0D3/GLFAexrYBc332WK+I1mSq77V+NkBFApTvMYfjF750XY1mEDP0TVLO7Xk/4t2dlMpW3m1+rHYlQp/Kc7ZSMjmEn6d2/mLhblk2aHlPsTc+t5UHiO5YbeqAQhkC4DY0u5RxJHYg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=holmsecurity.com; Received: from PAWPR07MB10095.eurprd07.prod.outlook.com (2603:10a6:102:382::18) by AM9PR07MB7810.eurprd07.prod.outlook.com (2603:10a6:20b:300::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7962.24; Tue, 17 Sep 2024 07:40:19 +0000 Received: from PAWPR07MB10095.eurprd07.prod.outlook.com ([fe80::bbd:dd4c:5f28:90e5]) by PAWPR07MB10095.eurprd07.prod.outlook.com ([fe80::bbd:dd4c:5f28:90e5%5]) with mapi id 15.20.7962.022; Tue, 17 Sep 2024 07:40:17 +0000 Message-ID: Date: Tue, 17 Sep 2024 09:40:15 +0200 User-Agent: Mozilla Thunderbird Subject: Re: Failing to allocate memory when I think it shouldn't To: Christoph Moench-Tegeder Cc: "pgsql-general@lists.postgresql.org" References: Content-Language: en-US From: Thomas Ziegler In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: GV3PEPF00002E5A.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:401::a) To PAWPR07MB10095.eurprd07.prod.outlook.com (2603:10a6:102:382::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAWPR07MB10095:EE_|AM9PR07MB7810:EE_ X-MS-Office365-Filtering-Correlation-Id: 31a712d0-a433-4dd0-8104-08dcd6ebf9ae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?TUhVSHRqcDZUdzI5RzBmSmFSZCtyeFNoTXZLV0l0clVOTHFlMXNqV202ejBQ?= =?utf-8?B?d1FtTFFTRVltZnNSUFlHeGRseUpxQm54S1hkVEMzcnB3YTRlOXM3Y1lyUVNj?= =?utf-8?B?QXB1Qkd1dFRmWXVFRTZWaHllOGVGNGgvaHJtcnN2UkUvYytyeWI4YWVTRkhX?= =?utf-8?B?dlNFRzVaL0xHcUNTSEx5cm5XRE5jNGNiSEpWZnRZOWxwL1BmSEE0eThmTXdM?= =?utf-8?B?NHBIVWU3UDd5aVpybmptV0JGWi9QeFZIeVZzc25KZUd5K3J0WUdSMmxZSS8r?= =?utf-8?B?V0pJazExZFA2elAyMnBzSjZOVFpDcVhicU5MYXFBemJMRDBFQXZacFdSTlEy?= =?utf-8?B?WTJlTzk3SnpqTTQ4U3VSWGZFdmkxdTgwWlQ1dExVakdiWTJSNzV6VzBpMml1?= =?utf-8?B?cDJRZm1KVzFKTGdDMTdoRHVMYVJoRHAvOGlKZURKWHRzZWxiUkprRnFIL3hV?= =?utf-8?B?VElYNVBndWNiV0M4VGxxVkZDaDlLWjN4QUZGOC9qUlQyTWtiQk4zdkNTTlhK?= =?utf-8?B?YWFDdGxDNCt3dHpObTM3Z2tETmtxZy94YWp5cjkrKytwclNBQXhXZjBDcjZk?= =?utf-8?B?eFQ4YUtjcTZlY2hybGdldE9lNHBWWXNaeEQvZk93dkRCOTJjN3dZTlNUOFFj?= =?utf-8?B?ZitLbmhXTlR0UHJMZUdFYmhBbnlOMWdaTC9keHovK0FvWUFYZ0poQmEwTTNh?= =?utf-8?B?a252SVh0MmV3TnVnRFJxaDc1Y2VpVjlxZGx0U3c4Ujl4K1hnUGFsZ0tET01j?= =?utf-8?B?VlgyamU4SUlCMlB2QzR5MmtrdHV1ek8wU1BEaE1ELy9EY2MvVWsybjZ5cXlI?= =?utf-8?B?TThoMXFveTBXc2krb1ZBbHhTcWM5cG5SRi9ncGVhdWVSSEt4VUtNVGJXRmtR?= =?utf-8?B?dW9IWXNtMGJoVWNka1lIaHpJMjlnTE5zYnpVYmhVcVp2aTZpd25yT291VW9X?= =?utf-8?B?NlhRWFFTVTk5MS9SWC84WGt6enN2cWJYZkJYbkJTZ3pPZUVFa3hodnIyTVpk?= =?utf-8?B?TVZTeGRSd1lacXdzWWtXOFFkUitaVHFVYWRGK0h5OG1PQmxBd0RKcWt0eVJ0?= =?utf-8?B?RDJZbEhmc2VVb09jdzQwV1p4cGRVWVFNVkxLSTBQQUpiWGJkZFhpWnNsU05L?= =?utf-8?B?Z1JIeTZOTmNUeXVNdHVRZ3NQRGhSZzFYVnlkVXdUSHVFL0w2TlVpQjlGYmQy?= =?utf-8?B?WG5qaklqd1ZyRW4wTk5adlFXR3k2ZWhvQkx6TEhKU1MweE8raGVYVHJhT0M3?= =?utf-8?B?NWxsQ2w5NnpIaXAzVmU3VW5zbVJwZGZibFpKVVp4c0RrTm9nSHFjazFiT3N6?= =?utf-8?B?azlyLzRCNzVOSVpMSkxIbUgwN1lzZlBXT1FqYlVvRU9FdFV0Vkt5TndwejlR?= =?utf-8?B?eXpBUHo3WTRtb3ZOa1QzUVhzOGVmeHh1MU9wakVSSzNsWnhEVXMrVHM3WkQv?= =?utf-8?B?KzhnRGFYQ0x2dkFUbTk5UGpzeVhrNkdZY2dmMXA1UzVFc1lIV2JJYTdiOFFY?= =?utf-8?B?Tjdmb0s0ZW1UVjB3cFVsdHQ0KytHNE5VMjdEWnYvL1pSSElyS0wraFRFV0Ra?= =?utf-8?B?OXVPTTVPL1d1V3NwekFQVWZXdHRIQUtpVVhlY0hucEQxWTJvS3JKQTJkZER0?= =?utf-8?B?dXFlQ1Jac3ZSYW8rUWRWUHVhNTQ0OEhpelVZWXZoeWppVURCU1k2NmRxN1h1?= =?utf-8?B?STNDWkFYajFvaFFNMHlhSGErNS9GZS80K0M4bjVwUHJYV1pNb0puMlFBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAWPR07MB10095.eurprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ODlNNEZ5R0tKSzhFaTAzNllZR2xGdmNIWXhFVnZpUkZxcmpGWDZ0NE9lTWtp?= =?utf-8?B?V3NzR2N2MStSZWNobnpEM2Y1MFp5VUlHUk5FUmtCaG4rV2t5azMwOFpXdHZl?= =?utf-8?B?Y3NJSGdJZ1BZVUxkek5NQW1IbkFHdXlsZDMzY2F1K3NaV2daYUlMeHpXcWtI?= =?utf-8?B?Zkw4VXhLZERYSnltNkhmRVB5bjZYclpsUzhlMzBDZCtSWGFyRnZzRWFZUEI2?= =?utf-8?B?TEdmazJQME1Eb29SMkNhOUgwdUF1Y3R0VzhMQVpyTlZrMC9IdVpkOXFYLzZ2?= =?utf-8?B?d2pnVGNWOFQ2cXZvT01JL0lzQm81c2ZrVlRBUklyUTArR3JrVWNKMUgwOHBu?= =?utf-8?B?UGpibUF5YlN3bG9vNExXSTAwQTU5QWU3M3hmREJITk4yU3JheWk4MzYrdjVi?= =?utf-8?B?MEZQYUdwWFhPOTdZbEx0RmFPSFJPanIwcVlPSk0xWTArRGFQck95bGlCenFu?= =?utf-8?B?OCtvTzY5WXVGdkV0ZGhEUVFDWWwycHdkNk15cEg3aEdnQThlU0pqVEQ4UXht?= =?utf-8?B?TXhIb2lDb0dia3BMYzZzQ0xXWnZYbHI1V3dkd2ladUxDYzIwUnNVZ00zcGxO?= =?utf-8?B?Z3RZWERVd0Rxc3NmQVJLNkNIWEtQWkliUW1tQWgvemFhUEJCQUZTZ05rQ1g4?= =?utf-8?B?eUNybXE2ZmdBcjBKcDhyT25FL1hBOEZ3bmduVzJKc0o2WDVrL1dkVmRoSFJ4?= =?utf-8?B?cktWY0dnMm1ySlJ3UjJXeUJGczNxUEhObmRvWjlWcHpLbTFyRHhlMExLQVRB?= =?utf-8?B?MnRoWWM5dWoxTnhJRmxYOXhjTU1EOEZwUFdSUGJueUQ0NkUrc3plVWl6U1VG?= =?utf-8?B?a2hJNHpFbjZ5SjVyb3ZkeGtHTGtMZlFwYS82blBMd2I2R0R3SGNGUUJvanpM?= =?utf-8?B?cGRGNFFNN3h6Zit1bll3MUF1SFNyQVVCQVNkYkNmbEpXS2ZDcnQzYVVmc2xu?= =?utf-8?B?eU5sUm1xVGVOOGcvSjhZZEt6dE9USGJLbTlUaWFPSzJxclVaWnZPTUNCSzEz?= =?utf-8?B?UjVqTUh2VDc1MmdYUlVGTWxDQjkrVU5pSFFnZndLQmhzZkozWFBiKzdWbERx?= =?utf-8?B?ZngrMmJlRTdydUJBSVh3b3ZMMmxUS0pvQkw3bjV5ZVpqMUc2QlNGWDg1aGFW?= =?utf-8?B?cVAzRHZtY3AreEY2aFFFSlZDNUhWYUxKNm50bVZmM1FHRk1sRjRLTzA4YTkv?= =?utf-8?B?WnlFblBCQitVQnQvcjg4RG5ZOXlLRVdkMXh4MDVXQmQ3RUgzdzdGeUpYckpw?= =?utf-8?B?YjBhVnUwRU5xNUIxZ2d4aENxYjdlNU95czRXK0l4c1FoTDNXV05aYXJ5eE1W?= =?utf-8?B?Z3hYbmNjS1IyZ1ZxN2FkN1QxS29JUEc3S3RDbUZMNFFmSU9CUkxNNkNYUlRT?= =?utf-8?B?dWJFUThPMHBKSTdkZEJsbFNvME9HQXV6eUJNVGpJdUo5N3ZadDkxT2JteEtL?= =?utf-8?B?aDgycGdnanFUbWxxK01nWkVBN3lvajRWb2RINXNnSk9NeENaanMzemN3b2xH?= =?utf-8?B?dE9ieEh6NHN5OE02RExKTTUxQXArOGk3MVRnd2JSR0NwenE0ZjJBRmcwdjds?= =?utf-8?B?U1pPZUFRRWRWRUtoRmdiV3ZnT0xsRjhwMTNxSWErdDRVQXZRWWpkMHpobHA4?= =?utf-8?B?VjVyTExLN204eEJKNU1WczlpcTlDSjgya3kxSjNFaEtjKzVvTlRiUFp3aU1E?= =?utf-8?B?MDB6RTEvQ0llTjZyYnhvd3lMTEM1WTVyUThUd01HRTF3RDJSQ3ZBV3ZuN0JE?= =?utf-8?B?YVN0bGJvYmQ0RExZRXhTMWtUZ3dCK0FPUUxiUnJUTWpiNERlUVJSQWV2S0s4?= =?utf-8?B?VGN2bS9rS2JKaVVRVzMvSjF2NGpLMnZzcWhzUkVOU3A1N3pHNENyNVJTRS9H?= =?utf-8?B?Vmk4d2pJQ01xQUk0c09aNHBhUlIrY1ZMVFRxVVRrcEZaRlArVzlvVHV6QTFK?= =?utf-8?B?T1BjN0ljMHVDeGMycWhOb21Wc0ZUZHBPUnZRNk5CTTdndWkrZlBVNDZIZFFP?= =?utf-8?B?bmg3bGNWcG1DM0RHVXRVeG5DZloyUDZGVW1MY3JOS0FDbC84bVZGT0ZPQjFB?= =?utf-8?B?U01GN0Z3cHpwUDVLZUdJUG1zV0NTYVdhZ29EV1pPcG5PKzF5SGxUcDA1eUFF?= =?utf-8?B?YnpvMjlFSEFSd1oxNVBGdXZXRlNYekd6cW0wcGhJL0tQNmtOQ2J1aXhzSmRR?= =?utf-8?Q?dc5F1bm7/01YTVwB6mbHW4U=3D?= X-OriginatorOrg: holmsecurity.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31a712d0-a433-4dd0-8104-08dcd6ebf9ae X-MS-Exchange-CrossTenant-AuthSource: PAWPR07MB10095.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Sep 2024 07:40:17.5841 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f885fa0a-a6c8-41a6-bab6-52b51e6e2fe6 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kQHf6uyP24oUQj8LUiyf/fiSl9jpjv55ohUwCtMVG6T94TSElrFXdYXakDkTHoA9cBmnmSObajc3am35jiQ5GVBdf6VlDB1DZZNHz+cGzZE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR07MB7810 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello Christoph, Thanks for your answer and the suggestions, it already helped me out a lot! On 2024-09-14 22:11, Christoph Moench-Tegeder wrote: > Hi, > > ## Thomas Ziegler (thomas.ziegler@holmsecurity.com): > > There's a lot of information missing here. Let's start from the top. > >> I have had my database killed by the kernel oom-killer. After that I >> set turned off memory over-committing and that is where things got weird. > What exactly did you set? When playing with vm.overcommit, did you > understand "Committed Address Space" and the workings of the > overcommit accounting? This is the document: > https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/mm/overcommit-accounting.rst > Hint: when setting overcommit_memory=2 you might end up with way > less available adress space than you thought you would. Also keep > an eye on /proc/meminfo - it's sometimes hard to estimate "just off > your cuff" what's in memory and how it's mapped. (Also, anything > else on that machine which might hog memory?). I set overcommit_memory=2, but completely missed 'overcommit_ratio'. That is most probably why the database got denied the RAM a lot sooner than I expected. > Finally, there's this: >> 2024-09-12 05:18:36.073 UTC [1932776] LOG: background worker "parallel worker" (PID 3808076) exited with exit code 1 >> terminate called after throwing an instance of 'std::bad_alloc' >> what(): std::bad_alloc >> 2024-09-12 05:18:36.083 UTC [1932776] LOG: background worker "parallel worker" (PID 3808077) was terminated by signal 6: Aborted > That "std::bad_alloc" sounds a lot like C++ and not like the C our > database is written in. My first suspicion would be that you're using > LLVM-JIT (unless you have other - maybe even your own - C++ extensions > in the database?) and that in itself can use a good chunk of memory. > And it looks like that exception bubbled up as a signal 6 (SIGABRT) > which made the process terminate immediately without any cleanup, > and after that the server has no other chance than to crash-restart. Except for pgAudit, I don't have any extensions, so it is probably the JIT. I had no idea there was a JIT, even it should have been obvious. Thanks for pointing this out! Is the memory the JIT takes limited by 'work_mem' or will it just take as much memory as it needs? > I recommend starting with understanding the actual memory limits > as set by your configuration (personally I believe that memory > overcommit is less evil than some people think). Have a close look > at /proc/meminfo and if possible disable JIT and check if it changes > anything. Also if possible try starting with only a few active > connections and increase load carefully once a steady state (in > terms of memory usage) has been reached. Yes, understanding the memory limits is what I was trying to do. I was questioning my understanding but it seems it was Linux that tripped me, or more like my lack of understanding there, rather than the database. Memory management and /proc/meminfo still manages to confuse me. Again, thanks for your help! Cheers, Thomas p.s.: To anybody who stumbles upon this in the future, if you set `overcommit_memory=2`, don't forget `overcommit_ratio`.