강력한 Windows 호스트에서 여러 VM을 실행합니다. 가끔씩VM 중 하나가 HOST CPU의 100%를 차지하는 CPU 스핀 모드로 전환됩니다..
HOST 및 기타 VM을 사용할 수 있도록 하기 위해 잘못 작동하는 VM을 찾고 프로세서 선호도를 하나의 논리 CPU로 설정하면 이제 머신의 나머지 부분을 사용할 수 있습니다.
회전 드라이브에서 솔리드 스테이트 드라이브로 전환한 후 이 작업에 대한 접근 방식이 작동하지 않았습니다. 저는 Windows 작업 관리자를 사용하여 잘못 작동하는 PID를 찾은 다음 Windows 리소스 모니터 디스크 활동을 사용하여 VM을 찾았습니다. 다음과 같은 파일이 표시됩니다.
J:\Virtual Machines\vm123\vm123-000004.vmdk
이 정보를 통해 오작동하는 VM이 vm123이라는 것을 알 수 있습니다. 그러나 SSD 드라이브로 옮긴 후에는 디스크 활동이 전혀 표시되지 않습니다. 그래서 이 정보를 얻을 수 있는 다른 방법을 찾아야 합니다. 활동이 종종 1ms 미만이기 때문에 디스크 활동이 표시되지 않는 것 같지만 긍정적이지 않습니다.
지금은 ProcessExplorer를 사용하겠습니다.docs.microsoft.com/.../downloads/sysinternals-suite의 Sysinternals 도구. 여기에는 프로세스와 관련된 모든 핸들과 실행 중인 프로세스의 전체 명령줄이 표시됩니다.
특정 PID와 연결된 VmWare VM을 어떻게 얻을 수 있나요? 나에게 답을 줄 Windows 명령이나 powershell 명령이 있을 것 같습니다.
일반적인 Windows 설치의 일부이며 타사 설치 소프트웨어를 사용하지 않는 솔루션을 찾으려고 합니다.
답변1
Sysinternals Process Explorer를 사용할 필요는 없습니다. Windows에 내장된 작업 관리자를 사용하여 프로세스의 명령줄을 볼 수 있습니다 vmware-vmx.exe
. 세부 정보 탭으로 이동하여 열 제목을 마우스 오른쪽 버튼으로 클릭하고 "명령줄" 열을 추가하여 활성화해야 합니다. (또한 Sysinternals는 정확히 타사 소프트웨어가 아닙니다. Sysinternals는 Microsoft의 일부입니다.)
프로그래밍 방식으로 명령줄을 얻으려면 다음 답변 중 일부를 참조하세요. 실행 중인 프로그램의 명령줄 인수를 어떻게 찾나요?
vmware.log
또 다른 접근 방식 은 실행 중인 VM(VM의 디렉터리에 있음)에 대한 파일을 검사하는 것입니다 . 첫 번째 줄에는 어떤 PID가 사용되는지 알려줍니다.