From 8a93015bfea17bb3cb872e12116ac16851f45bf0 Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Sun, 29 Dec 2019 18:57:36 +0000 Subject: [PATCH] Update used memory each second (minute previously) Resolves #4 --- base.nix.go | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/base.nix.go b/base.nix.go index d8cdc54..f09dfb1 100644 --- a/base.nix.go +++ b/base.nix.go @@ -40,14 +40,6 @@ startup = do spawn "${pkgs.spice-vdagent}/bin/spice-vdagent" ''; - environment.systemPackages = [ pkgs.bc ]; - services.cron = { - enable = true; - systemCronJobs = [ - "* * * * * root free -m | grep Mem | awk '{print $2 \"-\" $4}' | bc > /home/user/.memory_used" - ]; - }; - systemd.services.home-user-build-xmonad = { description = "Link xmonad configuration"; serviceConfig = { @@ -89,5 +81,27 @@ startup = do }; wantedBy = ["timers.target"]; }; + + systemd.services."autoballoon" = { + serviceConfig = { + StartLimitBurst = 100; + }; + script = '' + ${pkgs.procps}/bin/free -m | grep Mem | \ + ${pkgs.gawk}/bin/awk '{print $2 "-" $4}' | \ + ${pkgs.bc}/bin/bc > /home/user/.memory_used + ''; + }; + + systemd.timers."autoballoon" = { + description = "Auto update resolution crutch"; + timerConfig = { + OnBootSec = "1s"; + OnUnitInactiveSec = "1s"; + Unit = "autoballoon.service"; + AccuracySec = "1us"; + }; + wantedBy = ["timers.target"]; + }; } `)