다음을 통해 공유


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 사용 확인란의 선택을 취소합니다.

    CodeLens 기능을 사용하지 않도록 설정하려면 도구>옵션 대화 상자를 열고 텍스트 편집기>CodeLens 섹션을 확장합니다 . CodeLens 사용 확인란의 선택을 취소한 다음 확인을 선택합니다.

    자세한 내용은 CodeLens 사용하여 코드 변경 내용 및 기타 기록 찾기참조하세요.

기타 도구 및 확장

  • 확장 프로그램 사용 안 함

    확장은 새 기능을 제공하거나 기존 기능을 확장하는 Visual Studio에 추가된 추가 소프트웨어 구성 요소입니다. 확장은 종종 메모리 리소스 문제의 원인일 수 있습니다. 메모리 리소스 문제가 발생하는 경우 확장을 한 번에 하나씩 사용하지 않도록 설정하여 시나리오 또는 워크플로에 미치는 영향을 확인합니다.

    확장을 사용하지 않도록 설정하려면 확장>확장관리로 이동하고 특정 확장을 사용하지 않도록 설정합니다.

  • 맵 모드 사용 안 함

    지도 모드 스크롤 막대에 코드 줄을 미니어처로 표시합니다. 지도 모드는 기본적으로 사용하도록 설정됩니다.

    지도 모드를 사용하지 않도록 설정하려면 도구>옵션 창을 열고 모든 설정>언어> 기본값 일반>스크롤 막대 섹션>. 드롭다운 목록을 사용하고 세로 스크롤 막대 모드 옵션을 가로 막대 모드로 설정합니다.

    지도 모드를 사용하지 않도록 설정하려면 도구>옵션 대화 상자를 열고 텍스트 편집기>모든 언어> 섹션을 확장합니다. 동작 그룹에서 세로 스크롤 막대에 맵 모드 사용 옵션을 선택 취소한 다음 확인을 선택합니다.

  • 줄 바꿈 사용 안 함

    워드 랩 코드 편집기 창의 너비를 초과하는 긴 코드 줄의 부분을 표시합니다. Word Wrap은 기본적으로 설정됩니다.

    현재 프로젝트에 대한 단어 줄 바꿈을 사용하지 않도록 설정하려면 고급Word Wrap>> 선택합니다. (동일한 메뉴 명령을 사용하여 이 설정을 전환할 수 있습니다.)

    모든 프로젝트에 대해 기능을 사용하지 않도록 설정할 수도 있습니다. 도구>옵션 창을 열고 모든 설정> 언어기본값> 섹션> 확장한 다음 Word 줄 바꿈 확인란의 선택을 취소합니다.

    모든 프로젝트에 대해 기능을 사용하지 않도록 설정할 수도 있습니다. 도구>옵션 대화 상자를 열고 텍스트 편집기>모든 언어> 섹션을 확장합니다. 설정 그룹에서 Word 줄 바꿈 확인란의 선택을 취소한 다음 확인을 선택합니다.

  • XAML 디자이너 비활성화

    XAML 디자이너는 기본적으로 사용하도록 설정되어 있지만 .xaml 파일을 여는 경우에만 리소스를 사용합니다. XAML 파일을 사용하지만 디자이너 기능을 사용하지 않으려는 경우 기능을 사용하지 않도록 설정하여 일부 메모리를 확보할 수 있습니다.

    XAML 디자이너를 사용하지 않도록 설정하려면 도구>옵션 창을 열고 모든 설정>XAML 디자이너>일반 섹션을 확장한 다음 XAML 디자이너 사용 확인란의 선택을 취소합니다.

    XAML 디자이너 사용 옵션을 업데이트한 후 변경 내용을 적용하려면 Visual Studio를 다시 시작해야 합니다.

    XAML 디자이너를 사용하지 않도록 설정하려면 도구>옵션 대화 상자를 열고 XAML 디자이너>일반 섹션을 확장합니다. XAML 디자이너 사용 확인란의 선택을 취소한 다음 확인을 선택합니다.

    XAML 디자이너 사용 옵션을 업데이트한 후 변경 내용을 적용하려면 Visual Studio를 다시 시작해야 합니다.

  • 워크로드 제거

    Visual Studio 설치 관리자를 사용하여 더 이상 사용되지 않는 워크로드를 제거할 수 있습니다. 이 작업은 더 이상 필요하지 않은 패키지 및 어셈블리를 건너뛰어 시작 및 런타임 비용을 간소화할 수 있습니다.

  • 추적되지 않은 파일을 로컬 .gitignore에 추가

    Visual Studio는 추적되지 않은 파일을 사용하여 Git 명령 git status 실행하여 리포지토리에 새 파일을 추가할 때 원활한 환경을 제공합니다. 추적되지 않은 파일이 많은 경우 git status 추가 메모리를 사용할 수 있습니다. 이러한 파일을 무시하고 git status성능을 향상시키려면 이러한 파일 또는 폴더를 로컬 .gitignore 파일에 추가할 수 있습니다. 파일에 액세스하려면 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 가비지 수집기의 자세한 설명은 가비지 수집의 기본 사항을 참조하세요.