SSH를 통해 원격 서버에서 매우 리소스 집약적인 프로세스를 시작했습니다. 이는 MATLAB에서 실행되는 최적화 문제입니다. 전체 메모리와 CPU가 필요합니다. 사실, 나는 그 기계에 ssh를 보낼 수도 없고, 전혀 응답하지도 않습니다. 프로세스를 어떻게 종료합니까? 루트 액세스 권한이 없습니다.
답변1
사용자가 프로세스를 시작하고 원격 액세스만 가능한 경우 옵션이 제한됩니다.
프로세스를 원격으로 종료하려고 합니다. 대기열에 추가하는 데 시간이 좀 걸릴 수 있습니다.
ssh -l $USER $HOSTNAME 'pkill -9 MATLAB'
실행되면 실행 중인 프로세스가 종료되지 않습니다. 사용자가 만든 모든 프로세스를 언제든지 종료할 수 있습니다. 이는 최후의 수단이 되며 프로세스 이름을 알고 있으면 피할 수 있습니다.
ssh -l $USER $HOSTNAME 'pkill -9 -u $USER'
KVM 또는 IPMI 액세스 권한이 있다면 이제 이를 해제할 때입니다.
답변2
컴퓨터가 네트워크 요청에 응답하지 않으면 망한 것입니다. 간단한 문제 해결 과정을 통해 원격 액세스가 불가능한 경우 콘솔 액세스가 필요합니다.
인내심을 가지십시오. 시스템이 자주 교체되는 경우 응답하는 데 몇 분이 걸릴 수 있습니다.
앞으로는 SSH 세션을 열어두고 잠재적으로 문제가 있는 프로세스의 프로세스 ID를 준비하세요. 이 명령은 모든 주요 쉘 에 내장되어 있으므로 kill
시스템의 로드가 많거나 사용자가 프로세스 제한에 도달한 경우에도 프로세스를 종료할 수 있습니다.
또한 앞으로는 다음 명령을 실행하여 Matlab 프로세스가 할당할 수 있는 리소스를 제한할 수 있습니다.ulimit
명령을 시작한 쉘에서 명령을 실행하십시오. 특히, ulimit -Sv 42
하나의 프로세스에서 할당할 수 있는 가상 메모리의 총량은 42kB로 제한됩니다(이 제한은 이후에 셸에서 시작되는 모든 프로세스에 적용됩니다).