nixos에서 시스템 서비스의 CPU/Ram을 제한하는 방법은 무엇입니까?

nixos에서 시스템 서비스의 CPU/Ram을 제한하는 방법은 무엇입니까?

내 메타베이스 서비스가 모든 것을 먹어치우고 있습니다.내 컴퓨터의 리소스, 해결책을 찾았지만 리소스 사용량을 제한할 수 있는 방법이 필요했습니다.

nixos에서 어떻게 구성합니까?

❯ nixos-version
22.05.2123.ede02b4ccb1 (Quokka)

내 서비스가 구성되었습니다:

  systemd.services.metabase = {
    description = "Metabase server";
    wantedBy = [ "multi-user.target" ];
    wants = [ "postgresql.service" "nginx.service" ];
    after = [ "network.target" "postgresql.service" ];
    environment = {
      JAVA_OPTS = "-Dc3p0.maxPoolSize=2 -Xms128m -Xmx1024m";
      MB_DB_TYPE = "postgres";
      MB_DB_DBNAME="metabase";
      MB_DB_HOST="127.0.0.1";
      MB_DB_PORT="5432";
      MB_DB_USER="postgres";
      MB_PLUGINS_DIR = "/var/lib/metabase";
      MB_JETTY_HOST = "127.0.0.1";
      MB_JETTY_PORT = "3000";
    };

    serviceConfig = {
      DynamicUser = true;
      StateDirectory = "/var/lib/metabase";
      ExecStart = "${pkgs.metabase}/bin/metabase";
      RuntimeMaxSec = 86400;
      Restart = "always";
      RestartSec = 1;
    };
  };

답변1

간단하게 systemd를 사용할 수 있습니다.리소스 제어 옵션존재하다 serviceConfig.

관련 정보