Microsoft MVP성태의 닷넷 이야기
기타: 48. NVidia 제품의 과다한 디스크 사용 [링크 복사], [링크+제목 복사],
조회: 28806
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

NVidia 제품의 과다한 디스크 사용

NVidia GeForce 제품을 사용하고 있는데, 디바이스 드라이버 설치 관련해서 꽤나 용량을 차지하고 있습니다.

C:\NVIDIA\DisplayDriver 
C:\ProgramData\NVIDIA Corporation\NetService
C:\Program Files\NVIDIA Corporation\Installer2
%LOCALAPPDATA%\Temp\NVIDIA

위의 4개 폴더 용량을 합치면 거의 4GB 육박합니다. 저는 위의 4개 폴더 자체는 삭제하지 않고 그 하위의 내용을 모두 삭제해서 4GB 용량을 확보했습니다.

혹시... 이거 지워도 괜찮은가??? 하시는 분들은 다음의 문서를 보시면 도움이 될 것입니다.

Disk Space Used When Installing NVIDIA Drivers
; http://nvidia.custhelp.com/app/answers/detail/a_id/3333/~/disk-space-used-when-installing-nvidia-drivers

위의 공식 문서에서는 Installer2 폴더의 경우 "Custom Installation"에서 "Perform Clean Install" 옵션으로 새로운 드라이버를 설치하면 기존 Installer2의 내용이 삭제된다고 하는데, 직접 해봤지만 그다지 깨끗하게 삭제되지는 않았습니다.

좀 더 검색해 보니 다음의 글이 나오는데요.

Cleaning up old NVIDIA driver files to save disk space
; http://www.gameplayinside.com/optimize/cleaning-up-old-nvidia-driver-files-to-save-disk-space/

(위의 덧글을 보면 5~6GB까지 확보했다는 의견도 있습니다.)

그냥 삭제해도 되는 식으로 이야기를 쓰고 있습니다. 어쨌든, 공식 문서가 아니므로 불안하지만... 제 경우에는 삭제하는 것으로 결정하고 모험을 시도해봤습니다. ^^ (일단, 지운 상태로는 아무런 이상이 없습니다. 나중에 세월 지나서 문제가 발생할지는 모르지만. ^^)


다음은 이를 자동으로 삭제해 주는 Powershell 스크립트입니다.
cls

$basePath = "C:\\NVIDIA\\DisplayDriver", "C:\\ProgramData\\NVIDIA Corporation\\NetService", "C:\\Program Files\\NVIDIA Corporation\\Installer2", "%USERPROFILE%\\AppData\\Local\\Temp\\NVIDIA"


ForEach ($dir in $basePath)
{
    $expandedDir = [System.Environment]::ExpandEnvironmentVariables($dir)

    If ([System.IO.Directory]::Exists($expandedDir) -eq $false)
    {
        Continue
    }

    $files = Get-ChildItem -Name -Path $expandedDir | sort Name


    ForEach ($file in $files)
    {
        If ($file -eq "NvNetService.log")
        {
            Continue
        }

        $fullPath = [System.IO.Path]::Combine($expandedDir, $file)
        Remove-Item $fullPath -Force -Recurse
    }
}


[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2014-09-23 04시23분
[에메] 네, 지워도 관계없습니다. 몇몇 임시 파일의 경우 드라이버 복구 (Repair) 기능을 이용할 때 사용되는데, 이 기능을 이용하지 않고 드라이버를 다시 받아서 설치하는 방법이 있기 때문에 큰 문제는 아닙니다. 최신 버전의 드라이버 패키지들은 임시 파일을 최대한 빨리 삭제할 수 있도록 수정되었고 남은 부분도 추가적으로 수정될 예정입니다.
[guest]
2014-09-24 12시23분
에매님 확인 감사드립니다. ^^
정성태

... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12219정성태6/1/202021018.NET Framework: 906. C# - lock (this), lock (typeof(...))를 사용하면 안 되는 이유파일 다운로드1
12218정성태5/27/202020032.NET Framework: 905. C# - DirectX 게임 클라이언트 실행 중 키보드 입력을 감지하는 방법 [3]
12217정성태5/24/202018398오류 유형: 615. Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 1.
12216정성태5/15/202021859.NET Framework: 904. USB/IP PROJECT를 이용해 C#으로 USB Keyboard 가상 장치 만들기 [14]파일 다운로드1
12215정성태5/12/202027735개발 환경 구성: 490. C# - (Wireshark의) USBPcap을 이용한 USB 패킷 모니터링 [10]파일 다운로드1
12214정성태5/5/202019836개발 환경 구성: 489. 정식 인증서가 있는 경우 Device Driver 서명하는 방법 (2) - UEFI/SecureBoot [1]
12213정성태5/3/202020586개발 환경 구성: 488. (User-mode 코드로 가상 USB 장치를 만들 수 있는) USB/IP PROJECT 소개
12212정성태5/1/202017796개발 환경 구성: 487. UEFI / Secure Boot 상태인지 확인하는 방법
12211정성태4/27/202020505개발 환경 구성: 486. WSL에서 Makefile로 공개된 리눅스 환경의 C/C++ 소스 코드 빌드
12210정성태4/20/202022190.NET Framework: 903. .NET Framework의 Strong-named 어셈블리 바인딩 (1) - app.config을 이용한 바인딩 리디렉션 [1]파일 다운로드1
12209정성태4/13/202018339오류 유형: 614. 리눅스 환경에서 C/C++ 프로그램이 Segmentation fault 에러가 발생한 경우 (2)
12208정성태4/12/202016636Linux: 29. 리눅스 환경에서 C/C++ 프로그램이 Segmentation fault 에러가 발생한 경우
12207정성태4/2/202017280스크립트: 19. Windows PowerShell의 NonInteractive 모드
12206정성태4/2/202019318오류 유형: 613. 파일 잠금이 바로 안 풀린다면? - The process cannot access the file '...' because it is being used by another process.
12205정성태4/2/202016105스크립트: 18. Powershell에서는 cmd.exe의 명령어를 지원하진 않습니다.
12204정성태4/1/202016604스크립트: 17. Powershell 명령어에 ';' (semi-colon) 문자가 포함된 경우
12203정성태3/18/202019370오류 유형: 612. warning: 'C:\ProgramData/Git/config' has a dubious owner: '...'.
12202정성태3/18/202022679개발 환경 구성: 486. .NET Framework 프로젝트를 위한 GitLab CI/CD Runner 구성
12201정성태3/18/202019677오류 유형: 611. git-credential-manager.exe: Using credentials for username "Personal Access Token". [1]
12200정성태3/18/202019833VS.NET IDE: 145. NuGet + Github 라이브러리 디버깅 관련 옵션 3가지 - "Enable Just My Code" / "Enable Source Link support" / "Suppress JIT optimization on module load (Managed only)"
12199정성태3/17/202017574오류 유형: 610. C# - CodeDomProvider 사용 시 Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path '...\f2_6uod0.tmp'.
12198정성태3/17/202021047오류 유형: 609. SQL 서버 접속 시 "Cannot open user default database. Login failed."
12197정성태3/17/202020390VS.NET IDE: 144. .NET Core 콘솔 응용 프로그램을 배포(publish) 시 docker image 자동 생성 - 두 번째 이야기 [1]
12196정성태3/17/202017170오류 유형: 608. The ServicedComponent being invoked is not correctly configured (Use regsvcs to re-register).
12195정성태3/16/202019822.NET Framework: 902. C# - 프로세스의 모든 핸들을 열람 - 세 번째 이야기
12194정성태3/16/202022443오류 유형: 607. PostgreSQL - Npgsql.NpgsqlException: sorry, too many clients already
... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...