Visual Studio 성능 팁 및 요령
Visual Studio 성능 권장 사항은 드물게 발생할 수 있는 메모리 부족 상황을 위한 것입니다. 이러한 상황에서는 사용하지 않을 수 있는 특정 Visual Studio 기능을 최적화할 수 있습니다. 다음 팁은 일반적인 권장 사항으로 제공되지 않습니다.
64비트 OS 사용
시스템을 32비트 버전의 Windows에서 64비트 버전으로 업그레이드하는 경우 Visual Studio에서 사용할 수 있는 가상 메모리의 양을 2GB에서 4GB로 확장합니다. 64비트 운영 체제 업그레이드를 통해 Visual Studio는 더 큰 워크로드를 처리할 수 있습니다.
자세한 내용은 windows 및 Windows Server 릴리스 대한메모리 제한을 참조하세요.
팁
Windows의 Visual Studio 2022는 64비트 애플리케이션입니다. 이전 버전은 32비트입니다.
자동 파일 복원 사용 안 함
Visual Studio는 이전 세션에서 열린 상태로 유지된 문서를 자동으로 다시 엽니다. 이 자동 파일 복원 작업은 프로젝트 형식 및 열려 있는 문서에 따라 솔루션을 로드하는 데 걸리는 시간을 최대 30% 이상 연장할 수 있습니다. Windows Forms 및 XAML과 같은 디자이너와 일부 JavaScript 및 TypeScript 파일은 여는 속도가 느릴 수 있습니다.
자동 문서 복원으로 인해 솔루션 로드 속도가 느려지는 경우 Visual Studio에서 노란색 막대에 알립니다. 다음 단계에 따라 자동 파일 다시 열기를 사용하지 않도록 설정할 수 있습니다.
도구>옵션 선택하여 옵션 대화 상자를 엽니다.
프로젝트 및 솔루션>일반 페이지에서 솔루션 로드 문서를 다시 열기선택을 취소합니다.
자동 파일 복원을 사용하지 않도록 설정하는 경우 열려는 파일로 빠르게 이동하는 방법은 go to 명령 중 하나를 사용하는 것입니다.
일반 이동 기능의 경우 편집>이동>모두이동을 선택하거나, 또는 Ctrl +T를 누릅니다.
편집>이동>마지막 편집 위치로 이동하거나, Ctrl+Shift+백스페이스를 눌러 솔루션의 마지막 편집 위치로 이동합니다.
최근 파일로 이동 사용하여 솔루션에서 최근에 방문한 파일 목록을 확인합니다. 편집>이동>최근 파일으로 이동, 또는 Ctrl+1, Ctrl+R을 누릅니다.
디버깅 옵션 구성
일반적으로 디버깅 세션 중에 메모리가 부족한 경우 하나 이상의 구성을 변경하여 성능을 최적화할 수 있습니다.
내 코드만 사용하도록 설정
가장 간단한 최적화는 프로젝트에 대한 기호만 로드하는 내 코드 기능을 사용하도록 설정하는 것입니다. 이 기능을 사용하도록 설정하면 관리되는 애플리케이션(.NET)을 디버깅하는 데 상당한 메모리가 절약될 수 있습니다. 이 옵션은 일부 프로젝트 형식에서 기본적으로 이미 사용하도록 설정되어 있습니다.
"내 코드만 활성화하려면, 도구>옵션>디버깅>일반에서 선택한 다음, 내 코드만 사용하도록선택합니다."
로드할 기호 지정
네이티브 디버깅의 경우 메모리 리소스 측면에서 기호 파일(.pdb)을 로드하는 데 비용이 많이 듭니다. 메모리를 절약하도록 디버거 기호 설정을 구성할 수 있습니다. 일반적으로 프로젝트에서 모듈만 로드하도록 솔루션을 구성합니다.
기호 로드를 지정하려면 도구>옵션>디버깅>기호선택합니다.
모든 모듈 로드를대신 지정된 모듈만 로드하도록 옵션을 설정한 다음 로드할 모듈을 지정합니다. 디버깅하는 동안 모듈 창에서 특정 모듈을 마우스 오른쪽 단추로 클릭하여 기호 로드에 모듈을 명시적으로 포함할 수도 있습니다. 디버깅 중에 창을 열려면 디버그>Windows>모듈을 선택합니다.
자세한 내용은 디버거기호 및 소스 파일 지정을 참조하세요.
진단 도구 사용 안 함
사용 후 CPU 프로파일링을 사용하지 않도록 설정하는 것이 좋습니다. 이 기능은 많은 양의 리소스를 사용할 수 있습니다. CPU 프로파일링을 사용하도록 설정하면 이 상태는 후속 디버그 세션에서 유지되므로 완료되면 명시적으로 해제할 가치가 있습니다. 제공된 기능이 필요하지 않은 경우 디버깅하는 동안 진단 도구를 사용하지 않도록 설정하여 일부 리소스를 저장할 수 있습니다.
진단 도구사용하지 않도록 설정하려면 디버깅 세션을 시작하고 도구>옵션>디버깅>일반선택한 다음 옵션을 디버깅하는 동안 진단 도구 사용 옵션을 선택 취소합니다.
자세한 내용은 프로파일링 도구참조하세요.
도구 및 확장 사용 안 함
성능을 향상시키기 위해 일부 도구 또는 확장을 해제할 수 있습니다.
팁
한 번에 하나씩 확장을 해제하고 성능을 다시 검사하여 성능 문제를 격리할 수 있습니다.
관리되는 언어 서비스(Roslyn)
.NET 컴파일러 플랫폼("Roslyn") 성능 고려 사항에 대한 자세한 내용은 대규모 솔루션에 대한성능 고려 사항을 참조하세요.
CodeLens 사용 안 함
Visual Studio는 표시되는 각 메서드에서 모든 참조 찾기 작업을 수행합니다. CodeLens는 참조 수의 인라인 표시와 같은 기능을 제공합니다. 작업은 ServiceHub.RoslynCodeAnalysisService32같은 별도의 프로세스에서 수행됩니다. 대규모 솔루션 또는 리소스가 제한된 시스템에서 이 기능은 성능에 큰 영향을 미칠 수 있습니다. 예를 들어 4GB 컴퓨터에 큰 솔루션을 로드하거나 이 프로세스의 CPU 사용량이 높은 경우 메모리 문제가 발생하는 경우 CodeLens를 사용하지 않도록 설정하여 리소스를 확보할 수 있습니다.
CodeLens사용하지 않도록 설정하려면 도구>옵션>텍스트 편집기>모든 언어>CodeLens선택하고 기능을 선택 취소합니다.
자세한 내용은 CodeLens 사용하여 코드 변경 내용 및 기타 기록 찾기참조하세요.
기타 도구 및 확장
확장 프로그램 사용 안 함
확장은 새 기능을 제공하거나 기존 기능을 확장하는 Visual Studio에 추가된 추가 소프트웨어 구성 요소입니다. 확장은 종종 메모리 리소스 문제의 원인일 수 있습니다. 메모리 리소스 문제가 발생하는 경우 확장을 한 번에 하나씩 사용하지 않도록 설정하여 시나리오 또는 워크플로에 미치는 영향을 확인합니다.
확장을 사용하지 않도록 설정하려면 확장>확장관리로 이동하고 특정 확장을 사용하지 않도록 설정합니다.
맵 모드 사용 안 함
지도 모드 스크롤 막대에 코드 줄을 미니어처로 표시합니다. 지도 모드는 기본적으로 사용하도록 설정됩니다.
지도 모드를 사용하지 않도록 설정하려면 도구>옵션>텍스트 편집기>모든 언어>스크롤 막대이동한 다음 동작 섹션에서 세로 스크롤 막대 맵 모드 사용 옵션을 선택 취소합니다.
줄 바꿈 사용 안 함
워드 랩 코드 편집기 창의 너비를 초과하는 긴 코드 줄의 부분을 표시합니다. Word Wrap은 기본적으로 설정됩니다.
현재 작업 중인 프로젝트에서 단어 줄 바꿈 기능을 해제하려면 편집>고급>Word Wrap으로 이동하십시오. (동일한 메뉴 명령을 사용하여 이 설정을 전환할 수 있습니다.)
모든 프로젝트에 대해 단어 줄 바꿈을 사용하지 않도록 설정하려면 도구>옵션>일반>텍스트 편집기>모든 언어>일반이동하고 설정 섹션에서 Word 줄 바꿈 옵션을 선택 취소합니다.
XAML 디자이너 비활성화
XAML 디자이너는 기본적으로 사용하도록 설정되어 있지만 .xaml 파일을 여는 경우에만 리소스를 사용합니다. XAML 파일을 사용하지만 디자이너 기능을 사용하지 않으려면 이 기능을 사용하지 않도록 설정하여 일부 메모리를 확보합니다.
XAML 디자이너를 사용하지 않도록 설정하려면 도구>옵션>XAML 디자이너>XAML 디자이너사용하도록 설정하고 옵션을 선택 취소합니다.
워크로드 제거
Visual Studio 설치 관리자를 사용하여 더 이상 사용되지 않는 워크로드를 제거할 수 있습니다. 이 작업은 더 이상 필요하지 않은 패키지 및 어셈블리를 건너뛰어 시작 및 런타임 비용을 간소화할 수 있습니다.
추적되지 않은 파일을 로컬 .gitignore에 추가
Visual Studio는 추적되지 않은 파일을 사용하여 Git 명령
git status
실행하여 리포지토리에 새 파일을 추가할 때 원활한 환경을 제공합니다. 추적되지 않은 파일이 많은 경우git status
추가 메모리를 사용할 수 있습니다. 이러한 파일을 무시하고git status
성능을 향상시키려면 이러한 파일 또는 폴더를 로컬 .gitignore 파일에 추가할 수 있습니다. 파일에 액세스하려면 Git >설정>Git 리포지토리 설정이동합니다. 그런 다음 Git 파일 섹션에서 추가 선택하여 .gitignore 파일을 만들거나 이미 있는 경우 편집 선택합니다.Git 도구에서 커밋 그래프 활성화
Visual Studio 2022 버전 17.2새로운 기능: Visual Studio에서 Git 리포지토리 또는 분기 기록을 볼 때 지연이 발생하는 경우 도움이 될 수 있는 "커밋 그래프" 기능을 통합했습니다. 커밋 그래프를 사용하려면 Visual Studio 2022 다운로드하여 설치해야. 커밋 그래프에 대해 더 알고 싶다면 Visual Studio 블로그 게시물에서 "당신의 Git 경험을 향상시키기"를 참조하세요.
가비지 수집을 강제 실행
CLR은 가비지 수집 메모리 관리 시스템을 사용합니다. 이 시스템에서는 더 이상 필요하지 않은 개체에서 메모리를 사용하는 경우가 있습니다. 이 상태는 일시적입니다. 가비지 수집기는 성능 및 리소스 사용 추론에 따라 이 메모리를 해제합니다. Visual Studio에서 바로 가기 키를 사용하여 CLR이 사용되지 않는 메모리를 수집하도록 강제할 수 있습니다. 수집을 대기하는 가비지의 양이 많고 가비지 수집을 강제로 수행하는 경우 작업 관리자 devenv.exe 프로세스의 메모리 사용량이 감소하는 것을 볼 수 있습니다. 이 메서드를 사용할 필요는 거의 없습니다. 그러나 전체 빌드, 디버그 세션 또는 솔루션 열기 이벤트와 같이 비용이 많이 드는 작업이 완료된 후에는 프로세스에서 실제로 얼마나 많은 메모리를 사용하고 있는지 확인하는 데 도움이 될 수 있습니다. Visual Studio가 혼합되어 있기 때문에(관리되는 & 네이티브) 때때로 네이티브 할당자와 가비지 수집기가 제한된 메모리 리소스에 대해 경쟁할 수 있습니다. 메모리 사용량이 많은 조건에서 가비지 수집기를 강제로 실행하는 데 도움이 될 수 있습니다.
가비지 수집을 강제로 실행하려면 다음 바로 가기 키를 두 번 누르십시오: Ctrl+Alt+Shift+F12, Ctrl+Alt+Shift+F12.
가비지 수집을 강제로 적용하면 시나리오가 안정적으로 작동하는 경우 이 동작이 버그일 가능성이 높기 때문에 Visual Studio 피드백 도구 통해 보고서를 제출합니다.
CLR 가비지 수집기의 자세한 설명은 가비지 수집의 기본 사항을 참조하세요.