nixos-at | 83 Members | |
| vienna.nix.ug - Nix(OS) meetups in Vienna nixos.at - Nix(OS) meetups in Graz & elsewhere in Austria | 28 Servers |
| Sender | Message | Time |
|---|---|---|
| 4 May 2026 | ||
| The "Zero Hydra Failures" campaign for the upcoming 26.05 has started: https://github.com/NixOS/nixpkgs/issues/516381 🎉 It's a shared effort to try and squash as many build errors & other bugs as possible, during the release process. 🐛 The issue description provides a nice intro as well as technical details on how to find staff to work on. I also found https://zh.fail/ useful. 📉 Posting this as there were people motivated to hack together at the May meetup. I personally will be on vacation this time 🏝️ Have fun! :) | 13:03:23 | |
| the simplest, most primitive thing that comes to mind is NIX_SHOW_STATS=1 which lets nix print eval stats, including memory usage. A good start to confirm whether it's microvms, could be to eval each of them separately, and/or the toplevel closure without the vms (e.g. commented-out for a moment). | 13:06:24 | |
| a classic There's some support for profiling, but IMO they are mostly useful for speed. I personally don't find the profile helps me much to understand memory evals | 13:09:10 | |
| yeah NIX_SHOW_STATS is where i got the number from (totalBytes) - I think the issue is that I am cross-referencing other nodes in nearly each one of them - i am not sure how it affects the whole closure, but could be that each microvm in essence then has to eval itself + all other nodes? | 13:09:36 | |
| * yeah NIX_SHOW_STATS is where i got the number from (totalBytes) - I think the issue is that I am cross-referencing other nodes in nearly each one of them - i am not sure how it affects the whole closure, but could be that each microvm in essence then has to eval itself + all other nodes? i guess that would scale exponentially. interestingly, when i removed a single microvm, i noticed nearly no difference in the memory usage | 13:10:22 | |
| Ah, i was about to write: yes, cross-references between nixos closures should be avoided as much as possible, if you care about memory usage IMO. | 13:10:28 | |
| yeah i will have to do that now, until now that only manifested in eval time taken which i did not care about, but now this needs fixing 😅 | 13:11:21 | |
| 5 May 2026 | ||
| well i looked into it a little and found that the biggest offender were a fer malformed lines that generated thousands of nftables rules for each wireguard peer - fixing that took it down from >90G to now about 20G. much, better, but still too much for my liking :p all my cross node evaluations are already done once when filling my globals output - that iterates over all config and aggregates some global definitions. that is a mechanism that i really do not want to get rid of, i think it is super useful. also i thought that this kind of eval would not be very costly since nearly nothing needs to be accessed in the first place. for my client pc config without any microvms, it takes me 9G - what is the memory usage for a usual nixosConfig for you guys? | 14:05:43 | |
| * well i looked into it a little and found that the biggest offender were a fer malformed lines that generated thousands of nftables rules for each wireguard peer - fixing that took it down from >90G to now about 20G. much, better, but still too much for my liking :p all my cross node evaluations are already done once when filling my globals output - that iterates over all config and aggregates some global definitions. that is a mechanism that i really do not want to get rid of, i think it is super useful. also i thought that this kind of eval would not be very costly since nearly nothing needs to be accessed in the first place. for my client pc config without any microvms, it takes me 9G - what is the memory usage for a usual nixosConfig for you people? | 14:07:59 | |
| * well i looked into it a little and found that the biggest offender were a fer malformed lines that generated thousands of nftables rules for each wireguard peer - fixing that took it down from >90G to now about 20G (that surprised me a lot!). much, better, but still too much for my liking :p all my cross node evaluations are already done once when filling my globals output - that iterates over all config and aggregates some global definitions. that is a mechanism that i really do not want to get rid of, i think it is super useful. also i thought that this kind of eval would not be very costly since nearly nothing needs to be accessed in the first place. for my client pc config without any microvms, it takes me 9G - what is the memory usage for a usual nixosConfig for you people? | 14:13:31 | |
| * well i looked into it a little and found that the biggest offender were a fer malformed lines that generated thousands of nftables rules for each wireguard peer - fixing that took it down from >90G to now about 20G (that surprised me a lot!). much, better, but still too much for my liking :p all my cross node evaluations are already done once when filling my globals output - that iterates over all config and aggregates some global definitions. that is a mechanism that i really do not want to get rid of, i think it is super useful. also i thought that this kind of eval would not be very costly since nearly nothing needs to be accessed in the first place. the evaluation of globals by itself (which is around 35 configs I guess) takes around 4G, which seems reasonable? for my client pc config without any microvms, it takes me 9G - what is the memory usage for a usual nixosConfig for you people? | 14:44:24 | |
| 18 Nov 2023 | ||
| 14:08:18 | ||
| 15:00:22 | ||
| 19 Nov 2023 | ||
| Redacted or Malformed Event | 09:46:57 | |
| 10:58:29 | ||
| 20 Nov 2023 | ||
| 12:49:24 | ||
| 3 Dec 2023 | ||
| 10:05:29 | ||
| 7 Dec 2023 | ||
| 10:29:10 | ||
| 13 Dec 2023 | ||
| 07:11:25 | ||
| 07:12:00 | ||
| 25 Dec 2023 | ||
| 13:38:28 | ||
| 19:51:26 | ||
| 19:51:48 | ||
| 19:55:32 | ||
| 26 Dec 2023 | ||
| 11:03:55 | ||
| 27 Dec 2023 | ||
| 09:26:09 | ||
| 1 Jan 2024 | ||
| 00:47:46 | ||
| 2 Jan 2024 | ||
| 11:40:28 | ||
| 7 Jan 2024 | ||
| 16:35:11 | ||
| 22 Jan 2024 | ||
| 13:18:42 | ||