사용환경
OS : Windows 10
RAM : 128GB
CPU : XEON E5-2620 v3 6core 12 Threads
1. Visual Studio Online의 TFS를 사용중.
2. 100% C++ 프로젝트
3. 하나의 EXE에서 여러개의 DLL을 사용하는 프로젝트이므로 exe와 DLL각각에 대해서 VS2017을 따로 띄워서 사용하고 있음. 일반적으로 4개 이상의 VS2017을 동시에 사용.
4. 각각의 VS2017각각은 x86/x64/debug/relase로 4개의 설정에 대해 batch build를 수행함. 이 상황에선 CPU점유율이 100%가까이 올라감.
5. 각각의 VS2017이 동시에 빌드를 수행할때(적어도 2개 이상의 VS2017이 동시에 빌드를 수행) 간헐적으로 다른 1-2개의 VS2017의 IDE가 멈춤. 뭔가를 대기하는것처럼 보임(dead lock과 유사)
6. 또는 cmd에서 커맨드라인으로 빌드를 수행하고 있을때 1-2개의 VS2017의 IDE가 멈춤(hang).
7. IDE에서나 CMD에서나 빌드가 완전히 멈추면 IDE가 반응함.
8. 이 경우 기다리고 있으면 다음과 같은 메시지 박스가 출력됨.
9. 또한 File -> Open -> Project/Solution으로 File Open Dialog가 떴을때 cmd에서 빌드가 진행중이면 위와같이 IDE가 그대로 멈춤. 빌드가 끝나면 IDE가 살아남.
10. 텍스트 에디터 윈도우에 Source Control Explorer가 떠 있을때 File -> Open -> Project/Solution으로 프로젝트를 로드하려고 하면 Source Control Explorer 내용이 갱신된다. 이때 Source Control Explorer가 갱신되지 않고 멈칫하고 있으면(아마도 네트워크 응답이 늦어서)
File Open Dialog가 멈춰버림.
[추측]
어떠한 이유로 IDE가 TFS 기능의 응답을 대기하는 상태가 되어 데드락이 발생하는걸로 보인다.
여러개의 VS2017또는 cl.exe가 작동할때 TFS의 local store를 잠그는 것으로 보인다. 이때 VS2017의 IDE가 데드락에 빠지는 것으로 보인다.
RAM : 128GB 이면.. 저의 16배군요. !__!
좋아요좋아요
아 vm돌릴땐 메모리 걱정 없어서 마음이 편하기 합니다.
좋아요좋아요