특정 프로그램에 일부 메모리 할당

특정 프로그램에 일부 메모리 할당

시스템 메인 메모리의 일부를 SSH 프로세스에 할당하는 방법은 무엇입니까?

내 서버가 일부 기계 학습 응용 프로그램을 실행할 때마다 주 메모리가 완전히 가득 차고 누구도 SSH를 허용하지 않습니다. 우리는 메인 메모리가 64GB인 서버를 가지고 있습니다.

다른 모든 프로세스에 대해 다른 모든 사용자가 63GB를 사용할 수 있도록 하고 나머지 1GB는 SSH 프로세스 시작에만 사용하고 싶습니다. 이에 대한 단서는 큰 도움이 될 것입니다.

답변1

내가 생각할 수 있는 몇 가지 방법은 다음과 같습니다.

  1. SSH 프로세스에 더 높은 우선순위를 부여하십시오.

    renice -n -10 -p `pidof sshd`
    

    SSH 서버는 우선순위가 더 높고 CPU를 자주 예약할 수 있으므로 디스크로 교체될 가능성이 적습니다.

  2. 시스템 사용자원 통제머신러닝 프로그램의 리소스 사용량을 제어하는 ​​모듈입니다. MemoryMax해당 사용자 세션에서 시작된 프로세스가 지정된 값보다 많은 메모리를 사용할 수 없도록 사용자 샤드에 적용을 사용할 수 있습니다 . 명령은 다음과 같습니다:

    systemctl set-property MemoryMax=5G user-XXXX.slice
    

    아니면 SSH 서버에서도 같은 방법을 사용할 수도 있습니다 MemoryLow.

관련 정보