특정 프로그램에 일부 메모리를 할당합니다.

특정 프로그램에 일부 메모리를 할당합니다.

SSH 프로세스에만 사용하기 위해 시스템 전용 메인 메모리의 일부를 어떻게 만드나요?

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

다른 모든 사용자가 다른 모든 프로세스에 63GB를 사용할 수 있기를 원하지만 나머지 1GB는 SSH 프로세스를 시작하기 위해 독점적으로 만들고 싶습니다. 이에 관한 모든 스레드는 정말 큰 도움이 될 것입니다.

답변1

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

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

    renice -n -10 -p `pidof sshd`
    

    우선 순위가 높을수록 SSH 서버는 CPU에서 자주 예약될 수 있습니다. 결과적으로 디스크로 교체될 가능성이 줄어듭니다.

  2. Systemd를 사용하세요자원 제어기계 학습 프로그램의 리소스 사용을 제어하는 ​​모듈입니다. MemoryMax해당 사용자 세션에서 시작된 모든 프로세스가 지정된 값보다 많은 메모리를 사용할 수 없도록 사용자 조각에 적용을 사용할 수 있습니다 . 명령은 다음과 같습니다:

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

    아니면 ssh 서버에서 동일한 트릭을 사용할 수도 있습니다 MemoryLow.

관련 정보