hugepages changes
This commit is contained in:
@@ -60,6 +60,7 @@ rec {
|
||||
postgres = {
|
||||
socket = "/run/postgresql";
|
||||
dataDir = services_dir + "/sql";
|
||||
shared_buffers_m = 128; # PostgreSQL default; update if you change shared_buffers
|
||||
};
|
||||
|
||||
immich = {
|
||||
@@ -150,4 +151,25 @@ rec {
|
||||
moviesDir = torrents_path + "/media/movies";
|
||||
tvDir = torrents_path + "/media/tv";
|
||||
};
|
||||
|
||||
# Per-service 2MB hugepage budget.
|
||||
# Each value is the service's hugepage consumption in MB, derived from
|
||||
# its actual memory configuration. The kernel sysctl vm.nr_hugepages
|
||||
# is set to total_pages so every service gets what it needs.
|
||||
hugepages_2m = rec {
|
||||
page_size_m = 2;
|
||||
|
||||
# RandomX dataset (2048MB) + cache (256MB) = 2304MB per instance.
|
||||
# Both monerod and p2pool allocate their own full copy via MAP_HUGETLB.
|
||||
randomx_instance_m = 2048 + 256;
|
||||
|
||||
services = {
|
||||
minecraft_m = minecraft.memory.heap_size_m; # JVM heap via -XX:+UseLargePages
|
||||
monerod_m = randomx_instance_m; # block verification dataset
|
||||
p2pool_m = randomx_instance_m; # mining dataset
|
||||
postgres_m = postgres.shared_buffers_m; # huge_pages = try (default)
|
||||
};
|
||||
|
||||
total_pages = builtins.foldl' (a: b: a + b) 0 (builtins.attrValues services) / page_size_m;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user