From e1a6c85c2ba53933bfe5b6a86b9031cc28e4f9e1 Mon Sep 17 00:00:00 2001 From: Martino Fontana Date: Wed, 21 Jun 2023 19:23:08 +0200 Subject: [PATCH] nixos/sysctl: raise default vm.max_map_count to 1048576 --- nixos/modules/config/malloc.nix | 1 - nixos/modules/config/sysctl.nix | 3 +++ nixos/modules/virtualisation/lxd.nix | 2 +- pkgs/applications/networking/browsers/firefox/common.nix | 1 + 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/malloc.nix b/nixos/modules/config/malloc.nix index ae0661f472f6..043f78c8214e 100644 --- a/nixos/modules/config/malloc.nix +++ b/nixos/modules/config/malloc.nix @@ -97,7 +97,6 @@ in }; config = mkIf (cfg.provider != "libc") { - boot.kernel.sysctl."vm.max_map_count" = mkIf (cfg.provider == "graphene-hardened") (mkDefault 1048576); environment.etc."ld-nix.so.preload".text = '' ${providerLibPath} ''; diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 4346c88f7688..0bc7ab9667f9 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -72,5 +72,8 @@ in # Disable YAMA by default to allow easy debugging. boot.kernel.sysctl."kernel.yama.ptrace_scope" = mkDefault 0; + # Improve compatibility with applications that allocate + # a lot of memory, like modern games + boot.kernel.sysctl."vm.max_map_count" = mkDefault 1048576; }; } diff --git a/nixos/modules/virtualisation/lxd.nix b/nixos/modules/virtualisation/lxd.nix index c06716e5eb60..738382ef41a5 100644 --- a/nixos/modules/virtualisation/lxd.nix +++ b/nixos/modules/virtualisation/lxd.nix @@ -177,7 +177,7 @@ in { "fs.inotify.max_queued_events" = 1048576; "fs.inotify.max_user_instances" = 1048576; "fs.inotify.max_user_watches" = 1048576; - "vm.max_map_count" = 262144; + "vm.max_map_count" = 262144; # TODO: Default vm.max_map_count has been increased system-wide "kernel.dmesg_restrict" = 1; "net.ipv4.neigh.default.gc_thresh3" = 8192; "net.ipv6.neigh.default.gc_thresh3" = 8192; diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix index ae7223ec721b..0a578520ae26 100644 --- a/pkgs/applications/networking/browsers/firefox/common.nix +++ b/pkgs/applications/networking/browsers/firefox/common.nix @@ -357,6 +357,7 @@ buildStdenv.mkDerivation ({ export MOZILLA_OFFICIAL=1 '' + lib.optionalString stdenv.hostPlatform.isMusl '' # linking firefox hits the vm.max_map_count kernel limit with the default musl allocator + # TODO: Default vm.max_map_count has been increased, retest without this export LD_PRELOAD=${mimalloc}/lib/libmimalloc.so '';