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 1ujh5Q-00ArAV-Ic for pgsql-performance@arkaria.postgresql.org; Wed, 06 Aug 2025 16:33:57 +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 1ujh5P-00Gs9c-AO for pgsql-performance@arkaria.postgresql.org; Wed, 06 Aug 2025 16:33:55 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ujh5O-00Gs9O-Kg for pgsql-performance@lists.postgresql.org; Wed, 06 Aug 2025 16:33:55 +0000 Received: from mail-yb1-xb33.google.com ([2607:f8b0:4864:20::b33]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1ujh5L-0014N1-2Z for pgsql-performance@lists.postgresql.org; Wed, 06 Aug 2025 16:33:53 +0000 Received: by mail-yb1-xb33.google.com with SMTP id 3f1490d57ef6-e8fd59485d8so61381276.3 for ; Wed, 06 Aug 2025 09:33:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; t=1754498031; x=1755102831; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=yXa5TKsaexS6xrVkdxIkZPyyZzKn8wgEJm3FOlYjQG0=; b=KVhXx81q/wuJ4lLRiGSzoVwb++gpQkgGMbIFbPgY19pOTFhY1Wo1uj2x0qQgtr3xEn 2RaSlH8uAckDw6h3BHW0WjtliudQgyfmeFc/VF/PtyXBGfPgNyweLi7iscvTPKDrKmq4 E5RjhmQkXkyz/xodUfBslbAOgecMtwgpGTneTZVfZ17Lnw1BKYIGVIjnDJZfdX0UiRtk PDDWyThTv/YJ6iz9q13y+lCW0ZIamE/XdphPKzenR3tJYNOXihZ61gJEZ8PfNYEicHLR qsp6ItizVGtcmBECQE7rtPBWu9Vwn1Xo4nMljj4uA6EsJ8y4GDGAeBitiwUfQ1x6UuM3 W65A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754498031; x=1755102831; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yXa5TKsaexS6xrVkdxIkZPyyZzKn8wgEJm3FOlYjQG0=; b=Kd8p5xOaxpoys5D/Qvlt5yqGy4yy9PJXsvI2uR5BqRzLMQA9ppjue+wOUryOitiWra 1ldbdm7g3tFgPn291hZ9QVzHTQX6IV0HtSVQzdQk7py7TjBvJurisMrZ4fXwIA98+q/g c1gkMsepnRyUfhrvPy22Smtm1hSDGJYQmepVsm6iqF3FRtkwvPr62wMuiICFWm7CyMit f22jeHa2EJUo1EF/yjQms69bKBKsvX383/TWuy2R36kNPSa3fPg+Xe0TfO2cHYeP6/pX kvBZlSetmOA4MfZo68A2EtyXMOtlGSkVm+wun3qZncMpK/HYf+X5OkBO+qyBBHLn/TzZ mILg== X-Gm-Message-State: AOJu0YxVexZxtu/FKG69TJ9w23s4Pv6m54HcRZVGN2GWqY4NJAWPXtK1 2T9hb125SFQf2ORwaWFZShUTPg3iQthUBVztzh8NKfHP9uQipYnYweIRcCfp4F93grI= X-Gm-Gg: ASbGncvGM1tVtwW6m/yoVuLLf8zj2DIKl0/jZPqZaF6fWoh8ZaDuJtpljIo3EIw4lTp /JiGqtcKt6hitzf/inuFl9zXg4kOALpYuc4otv61kiQXYEk0Lsbby/ZQEipVg2o7TCizVifrLhd CEaMrsmRDpD9fIkMq4QRrJ4oQRrwBeNxW1icK5EfZotHEpLzkp6hJCm9BpHSPZF0Rx1mTvQ9kR3 RInjckcy31OKuBVP9F+u5OVoAx7Od6LKa+8hwpoNduPeDlpOdIE3WGqMYxkHy9lZObW/qwgkVEe X7WdUXqq3FA3seRXw1KgoXAtd06LnQUnWdhQnO4MXLJNgQhzYgnKXT91UOyjIDsqy3bnYDowMa7 4fZ22hfszIejIaRgW+ZQcE+7JTNkKlpkZEnIAsmQoFygV5euygmMLUEODJKhsDerC1UlPwaXi9M L18Q== X-Google-Smtp-Source: AGHT+IFZIxGQ73TlbZi78sS2qN0sMM34N5jbPu39u/2NDoKRulw/T/SNBn6TuYxk7AhQE+Ppp5XzBw== X-Received: by 2002:a05:6902:3101:b0:e8e:de9:5726 with SMTP id 3f1490d57ef6-e90288752cbmr4006761276.30.1754498031237; Wed, 06 Aug 2025 09:33:51 -0700 (PDT) Received: from [192.168.4.41] (162-239-31-113.lightspeed.dybhfl.sbcglobal.net. [162.239.31.113]) by smtp.gmail.com with ESMTPSA id 3f1490d57ef6-e8fd38641f4sm5662705276.24.2025.08.06.09.33.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 06 Aug 2025 09:33:50 -0700 (PDT) Message-ID: Date: Wed, 6 Aug 2025 12:33:49 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Safe vm.overcommit_ratio for Large Multi-Instance PostgreSQL Fleet To: Priya V , Frits Hoogland Cc: pgsql-performance@lists.postgresql.org References: <3633df47-5693-4871-9e12-bfbb68dd3313@joeconway.com> <5520EFB7-EDD1-42C1-8141-63EED777E026@gmail.com> Content-Language: en-US From: Joe Conway Autocrypt: addr=mail@joeconway.com; keydata= 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 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk (Both: please trim and reply inline on these lists as I have done; Frits, please reply all not just to the list -- I never received your reply to me) On 8/6/25 11:51, Priya V wrote: > *cat /proc/sys/vm/overcommit_ratio* > 50 > $ *cat /proc/sys/vm/swappiness* > 60 > > *Workload*: Multi-tenant PostgreSQL > > *uname -r* > 4.18.0-477.83.1.el8_8.x86_64 IMHO you should strongly consider getting on a more recent distro with a newer kernel. > *free -h* > total used free shared buff/cache available > Mem: 249Gi 4.3Gi 1.7Gi 22Gi 243Gi 221Gi > Swap: 0B 0B 0B As I said, do not disable swap. You don't need a huge amount, but maybe 16 GB or so would do it. > if we set overcommit_memory = 2, what should we set the > overcommit_ration value to ? Can you pls suggest ? > Is there a rule of thumb to go with ? There is no rule of thumb that I am aware of. Every workload is different. Start with something like 80 and do your own testing to refine that number. > *Our goal is to not run into OOM issues, no memory wastage and also not > starve kernel ? * With overcommit_memory = 2, swap on (and reasonably sized), and overcommit_ratio to something reasonable (certainly below 100), I think you will have a difficult time getting an OOM kill even if you try during testing. But you have to do your own testing for your workloads -- there is no magic button here. That is, unless you run postgres in a cgroup with memory.limit (cgroup v1) or memory.max (cgroup v2) set. Note, running in containers with memory limits set e.g. via Kubernetes will do that under the covers. That is a completely different story. > On Wed, Aug 6, 2025 at 3:47 AM Frits Hoogland > wrote: > Can you name any technical reason why not having swap for a database > is an actual bad idea? Did you read the blog I linked? Do your own experiments. * Swap is what is used when anonymous memory must be reclaimed to allow for an allocation of anonymous memory. * The Linux kernel will aggressively use all available memory for file buffers, pushing usage against the limits. * Especially in the older 4 series kernels, file buffers often cannot be reclaimed fast enough * With no swap and a large-ish anonymous memory request, it is easy to push over the limit to cause the OOM killer to strike. * On the other hand, with swap enabled anon memory can be reclaimed giving the kernel more time to deal with file buffer reclamation. At least that is what I have observed. HTH, -- Joe Conway PostgreSQL Contributors Team Amazon Web Services: https://aws.amazon.com