From f41e6c0a743933e094f3fbddcf49bb6a79489c40 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 21 Jul 2026 17:52:15 +0900 Subject: [PATCH] bicep/postgresql: enable hugepages --- flake.nix | 1 + hosts/bicep/services/postgresql/default.nix | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 9c502f9..84a5f86 100644 --- a/flake.nix +++ b/flake.nix @@ -197,6 +197,7 @@ inputs.pvv-calendar-bot.nixosModules.default inputs.minecraft-heatmap.nixosModules.default self.nixosModules.gickup + self.nixosModules.hugepages self.nixosModules.matrix-ooye ]; overlays = [ diff --git a/hosts/bicep/services/postgresql/default.nix b/hosts/bicep/services/postgresql/default.nix index d4e31b7..57b0470 100644 --- a/hosts/bicep/services/postgresql/default.nix +++ b/hosts/bicep/services/postgresql/default.nix @@ -1,6 +1,8 @@ { config, lib, pkgs, values, ... }: let cfg = config.services.postgresql; + + sharedBuffersMB = 8192; in { imports = [ @@ -29,7 +31,7 @@ in superuser_reserved_connections = 3; # Memory Settings - shared_buffers = "8192 MB"; + shared_buffers = "${toString sharedBuffersMB} MB"; work_mem = "32 MB"; maintenance_work_mem = "420 MB"; effective_cache_size = "22 GB"; @@ -93,6 +95,10 @@ in }; }; + boot.kernel.hugepages.reservations.postgresql = lib.mkIf cfg.enable ( + builtins.ceil (sharedBuffersMB / config.boot.kernel.hugepages.size) + ); + systemd.tmpfiles.settings."10-postgresql"."/data/postgresql".d = lib.mkIf cfg.enable { user = config.systemd.services.postgresql.serviceConfig.User; group = config.systemd.services.postgresql.serviceConfig.Group;