Nixos에서 Elasticsearch에 대한 Java 힙 크기를 설정하는 방법은 무엇입니까?

Nixos에서 Elasticsearch에 대한 Java 힙 크기를 설정하는 방법은 무엇입니까?

${configDir}/jvm.options"}이것들은 ( /var/lib/elasticsearch/config/jvm.options?) 뷰 패키징 에 넣어야 할 것 같습니다.https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/search/elasticsearch.nix

ES_JAVA_OPTS어쩌면 환경 변수를 사용할 수 있을까요 ?

기본적으로 무언가가 전달되는 것처럼 사용하면 services.elasticsearch.extraJavaOptions작동하지 않습니다 .-Xms1g -Xmx1g

출력은 다음에서 비롯됩니다.ps aux

탄력성 + 21271 30.8 47.5 4456956 950968 Ssl 01:03 3:41 /nix/store/9c5a9fq2vd6qah77nmg87sjq5wbss1kj-openjdk-8u212-ga-jre/bin/java -Xms1g -Xmx1g -XX:+UseConc Mark SweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX : +UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty. noKeySetOptimization=true -Dio.netty. recycler.maxCapacityPerThread=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.io.tmpdir=/tmp/elasticsearch.uQNUAfPs -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data-XX:ErrorFile=logs/ hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -Xms512m -Xmx512m -Des.path.home=/var/lib/elasticsearch -Des.path.conf=/var/lib/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=tar -cp /var/lib/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch

답변1

약간 과잉일 수도 있지만 Nixos 서비스의 매개변수를 재정의하는 방법을 잘 모르겠습니다.

기본적으로 기본 옵션 .../jvm.options이므로 Github에서 elasticsearch.nix를 복사하고 다음을 수정했습니다.

        ${optionalString es6 "sed -i '/-Xms1g/d' ${configDir}/jvm.options"}
        ${optionalString es6 "sed -i '/-Xmx1g/d' ${configDir}/jvm.options"}

와 함께서비스 이름 변경(그렇지 않으면 충돌할 것이라고 생각합니다.) 그런 다음 이 nix 표현식을 내 구성에 포함시켰는데 ES_JAVA_OPTS.

관련 정보