여전히 가상 메모리를 사용해야합니까?


14

나는 이것이 이미 요청되었다고 생각했지만 그것을 찾을 수없는 것 같습니다.

어떤 시점에서 더 이상 가상 메모리를 사용할 필요가 없습니까? 4GB의 RAM을 사용하면 컴퓨터가 거의 모든 곳에서 거의 사용하지 않는 것을 알 수 있습니다. 이 시점에서 가상 메모리가 반드시 필요한 것은 아닙니다. 전원을 끄면 위험합니까? 내가 잃어 버릴 기능이 있습니까?


1
주의 : 드라이버 non-pagedpaged 메모리 섹션 이라고하는 제한된 양의 메모리 만 있습니다. 페이지 파일은 페이지 단위 섹션이 가득 찼을 때 필요합니다. 게이머가 8GB 시스템에서 페이지 파일을 비활성화했기 때문에 페이지 풀 메모리에 대해 게임이 불평하는 것을 보았습니다. 결론 : 페이지 파일이 필요하며 페이징 풀 고갈을 방지하고 실제로 시스템 속도를 높 입니다.
Tamara Wijsman

답변:


9

더 이상 메모리가 더 이상 데스크탑 PC / 노트북에서 드문 드문 리소스가 아니기 때문에 대부분의 프로그램이 메모리 부족 조건을 정상적으로 처리 할 수 ​​있으며 대신 충돌이 발생합니다.
그래서 : 위험한가요? 예 , 4GB가 어느 정도 소모되고 페이지 파일이 없으면 응용 프로그램이 중단 될 수 있습니다.
Zoran의 예에서 볼 수 있듯이 나중에 문제를 식별하기가 어려울 수 있습니다.

Ram은 또한 스와핑을 해제 해도 속도가 향상되지 않으며 대신 그 반대의 경우도 있다고 언급합니다 .

따라서 페이징 파일없이 더 나은 성능을 발휘하는 워크로드가있을 수 있지만 일반적으로 하나의 워크로드가 있으면 시스템에서 더 많은 사용 가능한 메모리를 사용할 수 있습니다.


MS 사이트에서 기사를 파헤쳐 야하지만 MS는 항상 페이지 파일이 있어야한다고 말합니다. 높은 메모리 시스템에서도 시스템이 없으면 시스템 속도가 느려질 수 있습니다.
Keltari

10

가상 메모리에 관한 Mark Russinovich의 기사 를 참조하십시오 . 가상 메모리에 대한 좋은 포인터가 될 것입니다.

다음은 링크에서 유용한 발췌입니다.

그렇다면 워크로드에 필요한 커밋 요금이 얼마나되는지 어떻게 알 수 있습니까? 스크린 샷에서 Windows가 해당 번호를 추적하고 프로세스 탐색기에 표시되는 피크 커밋 요금. 페이징 파일의 크기를 최적으로 조정하려면 동시에 실행하는 모든 응용 프로그램을 시작하고 일반적인 데이터 세트를로드 한 다음 커밋 요금 피크를 확인하십시오 (또는 최대로드에 도달 한 후이 값을 확인하십시오). . 페이징 파일 최소값을 해당 값에서 시스템의 RAM 크기를 뺀 값으로 설정하십시오 (값이 음수이면 구성되는 크래시 덤프 종류를 허용하도록 최소 크기를 선택하십시오). 잠재적으로 큰 커밋 요구를위한 호흡 공간을 확보하려면 최대 값을 해당 수의 두 배로 설정하십시오.


Mark Russinovich 참조 +1 항상 잘 읽어보십시오.
mrduclaw 2009

3

ServerFault에 대한 이 고전적인 게시물 에는 몇 가지 좋은 점이 있습니다. 4GB의 경우에는 페이지 파일 만 남겨두고 디스크에 관련된 공간은 아주 작습니다.


3

가상 메모리 설정을 기본값으로 유지하는 것이 좋습니다. 나는 8GB의 RAM을 가지고 있으며 (스왑이 없기 때문에) 속도가 빨라질 것이라고 생각하면서 가상 메모리를 끄지 만 시스템을 덜 안정적으로 만들었습니다. 나는 두 기계에서 일주일에 하나의 BSOD를 경험했습니다. 나는 생성 된 미니 덤프를 조사하기 시작했고 모든 BSOD가 KiPageFault라는 루틴에 대한 호출에 의해 트리거되는 것을 발견했습니다. 그래서 가상 메모리 설정을 기본값으로 다시 설정하려고 시도했는데 일반 BSOD가 사라졌습니다.

2를 연관시키는 데 꽤 오랜 시간이 걸렸으며 가상 메모리를 끈 사실이 BSOD를 유발했다는 실제 증거는 없지만 내 컴퓨터를 다시 켠 후에는 더 안정적이었습니다 ...


감사. 단순한 가정이 아니라 실제 결과를 듣는 것이 좋습니다.
Steve Rowe

0

작업량에 따라 다릅니다. 웹 응용 프로그램을 위해 디스크가없는 프론트 엔드를 많이 설정했습니다. 그들은 네트워크를 부팅하고 8GB RAM에 필요한 모든 것을 실행했습니다.

또한 32MB이고 페이지 파일이없는 창 (98)을 사용했습니다. 물론 메모리 공간에 살고 리소스에 맞게 앱을 제한해야합니다.

디스크 캐시에 추가 RAM이 있는지 확인하려고합니다. 그렇지 않으면 성능이 끔찍해질 수 있습니다.

VM없이 실행되지 않는 프로그램이 있지만 그 프로그램이 무엇인지 모릅니다.


-2

스티브, 당신이 그걸 물어봐야한다는 것이 흥미 롭습니다.

가상 메모리가 필요한 시점은 결코 없었습니다. 가상 메모리는 실제 컴퓨팅 시스템에 대해 전혀 알지 못한 많은 학자들이 만든 미친 무능한 아이디어였으며 VM 없이도 실행할 수 있으면 모든 컴퓨터가 훨씬 더 잘 작동 할 것입니다.

이제 VM이 쓸모없고 유해한지 여부를 물어볼 수 있습니다. 왜 현대의 가장 큰 운영 체제가 VM을 사용합니까? 이 질문에 대한 짧은 대답은 Microsoft, Apple 및 IBM에서 VM을 사용할지 여부를 결정하는 사람들이 VM을 발명 한 학계보다 훨씬 어리 석고 경험이 부족하여 동일한 가상의 가정을 기반으로 VM을 채택하고 싶다는 것입니다. 그들이 발명했을 때 학자들도있었습니다. 우리는 이러한 가정과 오해에 대해 이야기 할 수 있지만 불행히도 이해하고 설명하기 쉽다면 우선 VM 문제가 발생하지 않습니다.

다시 연락하기 불행히도 Apple과 Microsoft의 tardnoggins과 마찬가지로 VM을 끌 수 있다는 아이디어가 있습니다. 물론, 당신은 그것을 끌 수 없다면, 그것은 당신이 그것을 끌 수 있다면 당신을 조이는 모든 목적을 어길 것입니다. 사람들이 정말 바보 같은 일을 할 때, 그들은 항상 돌이킬 수 없는지 확인합니다. 결국 모든 사람들이 VM을 끌 수 있다면 VM을 만든 보조가 그렇게 어리석은 것처럼 보일까요? 그들은 마이크로 소프트가 인터넷 익스플로러를 제거 할 수 없게 만드는 것과 같은 것을 제거 할 수 없게함으로써 이러한 가능성을 막았다.

당신이 할 수있는 일은 페이지 파일의 크기를 제한하는 것입니다. 물론 최소값, 0으로 설정해야합니다. 가상 메모리는 여전히 있지만 적어도 매우 느리게에서 매우 느리게 줄일 수 있습니다 광기에 디스크 드라이브를 포함시키지 않도록 요청하여 속도를 늦 춥니 다.


가상 메모리는 많은 좋은 것들을 허용합니다. 가상 메모리가 없다면 실제로 참조되었는지 여부에 관계없이 시스템의 모든 프로세스가 정의하는 모든 바이트 및 코드 바이트를 보유 할 수있는 충분한 RAM이 있어야합니다. 대부분의 프로그램은 코드와 데이터의 10 %를 사용하여 90 %의 시간을 소비하므로 이는 큰 낭비입니다. 당신은 또한 많은 다른 유용한 것들을 잃어 버릴 것입니다. 우리가 가상 메모리를 버리지 않은 이유는 여전히 정말 좋은 아이디어이기 때문입니다. "실제 컴퓨팅 시스템"에서도.
Jamie Hanrahan

@RickBrant 여러분은 1980 년대에 VM이 좋은 아이디어 인 이유를 설명하려고하는데 인텔과 IBM의 바보 전기 기술자처럼 들립니다. IBM이 VM으로 처음 손상된 운영 체제 OS 인 OS / 2를 출시했을 때, 기억해야 할 이유를 설명해야했습니다. OS / 2가 죽어 버린 것에 감사하지만 불행히도 VM은 좀비처럼 계속되었으므로 여기에 2017이 있고 여전히이 넌센스를 듣고 있습니다 .CS 학위가없는 도넛에 달러를 걸고, 당신? 그 농담 부분입니다. VM을 홍보하는 사람들의 99 %는 프로그래머가 아닙니다.
Tyler Durden

저는 서해안 최고의 테크 스쿨 중 한 곳인 CS / EE의 이중 전공이었습니다. 오늘날 저는 대부분 프로그래머이지만 하드웨어 유형과 상호 작용합니다. 자, 당신은 프로그램이 RAM에 필요한 모든 마지막 바이트와 코드를 필요할 때마다 RAM에 항상 유지하는 것이 매우 낭비 적이라는 점에 대해 반박하고 있습니까? 가상 메모리가이를 피하기 때문입니다. 아니면 "멍청해야한다"는 개인 공격을 계속할 것인가?
Jamie Hanrahan

아, 그리고 "VM / 2로 손상된 최초의 운영 체제 뇌인 OS / 2"는 아닙니다. PC에서 가장 널리 사용되는 OS 일 수 있습니다. (그러나 "개인용 컴퓨터"의 첫 번째는 아닙니다.)
Jamie Hanrahan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.