태그 보관물: swap

swap

Windows 페이지 파일을 비활성화하면 어떤 문제가 있습니까? 사람들이 이런 말을하는 이유는 단순히 이해하지

사람들은 항상 페이지 파일이 필요하고 성능이 향상 될 것이라고 말하지만 내 Windows 7은 페이지 파일없이 실행되도록 설정되어 있습니다. 사람들이 이런 말을하는 이유는 단순히 이해하지 않는다 – 나는 6 RAM의 지브, 그리고 심지어 온 유일한 시간이 가까운 내가 일시적으로 페이지 파일을 사용할 수있는 크롬을 컴파일 할 때였다 RAM 부족에있다.

일반적인 상황에서 속도 향상을 위해 실제로 페이지 파일 *이 필요합니까? 왜?

크래시 덤프에는 페이지 파일이 필요하다는 것을 알고 있습니다. 그래도 크래시 덤프를 사용하지 않으므로 중요하지 않습니다.



답변

페이지 파일은 성능을 향상시키지 않지만 반드시 적절한 메모리 관리를 통해 페이지 성능을 저하 시키지는 않습니다. 그러나 페이지 파일없이 실행하면 사용할 수없는 메모리를 요청하는 응용 프로그램과 관련하여 시스템의 불안정성이 증가하는 경향이 있습니다.

OS가 메모리 관리에 특히 나쁜 경우가 아니면 6GiB의 메모리가있는 페이지 파일은 거의 사용되지 않습니다. 그것은 전혀 사용되지 않을 것이라고 말하는 것은 아닙니다. IIRC MS Windows는 사용 가능한 메모리가 충분할 때에도 페이징을 수행 할 때 약간 미쳤습니다. (왜 몰라요)

그러나 사용중인 페이지 파일이 없을 때 발생하는 상황은이를 가능하게하는 충분한 이유 일 수 있습니다. 하드 충돌. 대부분의 앱은 요청한 메모리를받을 것으로 예상합니다. 그렇지 않으면 충돌합니다. (아, 그러나 수천 바이트 에 살았던 좋은 시절 은 지나갔고, 너무 많은 개발자들에게는 메모리 관리를 다루는 관행이 있습니다.)

앱이 올바르게 구축되면 실패 할 것입니다. (행운이 있어도 전혀 실패하지는 않습니다. 그러나 믿을 수는 없습니다.) 대부분의 앱에서는 환상적인 실패를 경험할 수 있습니다. 또한, 한도에 가까운 앱이 많을수록 시스템 전체의 불안정성이 나타날 가능성이 높습니다.

내 경험의 사례. Windows XP, 4GiB, 페이지 파일 없음 성능은 훌륭했습니다. 우리가 4GiB 한계에 가까워지기 시작할 때까지. 그런 다음 상황이 악화되었습니다. 앱이 중단되거나 메뉴 항목이 부분적으로 만 나타나거나 전혀 나타나지 않습니다. 버튼은 아무 것도하지 않습니다. 성능이 좋지 않더라도 페이지 파일로 다시 전환했습니다. 전반적인 안정성은 간단했습니다. 더 좋고 더 중요합니다.

이제는 6GiB를 지원하는 앱을 사용하지 않거나 앱에서 작업하고 있지만 비디오 편집, 사진 편집, 오디오 믹싱 및 제작 등과 같은 몇 가지 상황에 대해 생각할 수 있습니다. 기본적으로 많은 데이터 (작업 또는 스트리밍)를 다루는 모든 것. 해당 데이터가 메모리 용량을 초과하면 앱이 “가짜”가 될 가능성이 높습니다.


답변

Mark Russinovich 의이 기사 는 페이지 파일에 대해 알고 싶은 모든 것을 알려줍니다.

“캐시”가 페이지 파일의 기능과 관련하여 적절한 용어인지는 잘 모르겠습니다. 캐시는 데이터에 빠르게 액세스 할 수있는 임시 보유 지점입니다. 실제 RAM에 대한 경합이 너무 많으면 운영 체제가 페이지 파일에 “오류”를 발생시킵니다. 따라서 메모리 부족으로 인해 프로그램이 하드 크래시되는 것을 방지하기 위해 RAM 오버플로에 대한 임시 공간입니다. 그러나 Windows가 한동안 액세스하지 않은 것들을 페이지 파일에 넣으려고한다고 생각합니다 (리눅스도 그렇게 할 수 있음). 그런 의미에서 캐시이지만 실제로는 기본 기능은 아닙니다.

어쨌든 기사를 읽으십시오. 페이지 파일 설정에 대한 지침을 제공합니다. @Sandeep Bansal이 말했듯이 가끔 실행하기 위해 “요구 사항 확인”의 일부로 게임을 해야하는 게임이있을 수 있습니다 (그러나 나는 모른다).

편집 :이 예제는 페이지 파일의 역할을 이해하는 데 도움이 될 수 있습니다.

512MB의 RAM이 있다고 가정 해 봅시다. 250MB의 RAM을 사용하는 최소화 된 브라우저 자체를 포함하여 많은 프로그램이 열려 있으며 그 시점에서 실행되는 모든 항목의 총 RAM 사용량은 500MB입니다.

그런 다음 150MB의 RAM을 할당하려는 다른 프로그램 (워드 프로세서)을 시작합니다. 메모리가 부족합니다. 그러나 페이징 시스템이있는 경우 최소화 된 브라우저가 포함 된 메모리 페이지를 디스크로 페이징 할 수 있습니다. 그러면 새 프로그램이로드 될 수 있습니다.

이제 조금 후에 브라우저로 돌아가고 싶다고 가정 해 봅시다. 글쎄, 그것은 방금 디스크로 보낸 것을 “페이지 인”해야한다. 그 시점에 충분한 여유 RAM이 있으면 문제없이 그렇게 할 수 있습니다. 없는 경우 먼저 다른 것을 페이징해야합니다. CPU와 경쟁하는 많은 프로그램이 있고 지속적인 페이징이있는 경우 상황이 느려지고 “스 래싱”이라는 조건이 있습니다. 이 모든 페이징 인 / 아웃은 성능을 저하 시키지만 메모리 부족 오류로 인해 “하드”크래시를 방지합니다. 이것이 페이징 파일의 목적입니다. 너무 많은 페이징, 즉 “스 래싱”은 대부분의 시간 동안 더 이상 RAM을 확보 할 수 없기 때문에 포기하는 프로그램보다 낫지 않습니다.

이제, 주어진 순간에 사용되지 않을 수있는 것을 예측 하기 위해 알고리즘이 존재하는 경우 운영 체제가 생각하지 않는 것을 “사전 페이지”하여 바로 사용할 수 있습니다. 따라서 RAM이 충분하더라도 페이지 파일을 사용하는 Windows를 설명합니다. 가능한 한 많은 RAM을 사용하려고합니다. Windows는 여유 RAM이 디스크 캐시 역할을하는 Linux와 유사하므로 균형 조정 작업을 제대로 수행하면 전체 성능에 기여할 수 있습니다. 이것은 OS 디자인의 일부이며 수천 명의 프로그래머 중 좋은 운영 체제를 얻는 데 10 년이 걸리는 이유입니다.

따라서 실제로 귀하의 질문에 대답하기 위해서는 페이지 파일을 비활성화하는 것이 잘못된 것입니다. 내가 제공 한 예제로 돌아가서 페이지 파일 없이는 브라우저를 시작할 수 없거나 OOM 오류를 예상하도록 방어 적으로 프로그래밍되지 않은 잘못 작성된 프로그램이 실제로 이상하게 작동 할 수 있습니다.


답변

페이지 파일은 크래시 덤프를 저장하기위한 것이 아니라 본질적으로이를 위해 만들어진 것이 아닙니다.

페이지 파일이 존재하므로 RAM에 보관할 필요가없는 데이터를 저장할 수 있습니다. 메모리에 존재할 필요가없는 항목의 캐시와 같으므로 다른 항목에 더 많은 RAM을 제공합니다.

6GB RAM이 있으면 페이지 파일이 필요하지 않을 수도 있지만 특정 항목에 대해 페이지 파일이 필요할 수도 있습니다. 몇 가지 게임에는 페이지 파일이 필요하고 페이지 파일이 있으면 유용 할 수 있습니다.

특정 프로세스에 필요한 경우 문제를 피하기 위해 500MB 페이지 파일을 생성해도 아무런 해가 없습니다.


답변

첫 번째 단계는 캐시가 무엇인지 또는 다른 캐시가 무엇을 사용하는지 이해하는 것입니다.
CPU에는 작은 내부 캐시가있어 OP 결과, 플래그 상태 및 계산 된 주소를 저장할 수 있습니다. 듀얼 코어에서 내부 캐시는 약 1MB라고 생각합니다. 매우 빠르며 CPU 내부에서만 액세스 할 수 있으며 오버 클럭 된 CPU의 열에 가장 큰 영향을받습니다.

레벨 2 캐시는 CPU 대 메모리 트랜잭션을위한 고속 버퍼 역할을하며 프리 페치에 의해 수집 된 코드 스레드도 보유합니다. 듀얼 코어에서는 일반 설치에 6MB의 lvl2 캐시가 있다고 생각합니다. 내부 캐시 메모리는 메모리 컨트롤러와 CPU에만 액세스 할 수 있으며 버스의 전용 회선에 상주하는 것이 매우 빠르지 만 속도는 매우 빠릅니다.

페이지 파일은 실제로 캐시에 있는데, 메모리에 있거나 없을 수있는 데이터를 저장한다는 점입니다. O / S는 다양한 작업에 페이징 파일을 사용할 수 있습니다. 그 중 하나는 아직 디스크에 커밋되지 않은 데이터 파일의 현재 상태를 저장하는 것입니다. 페이지 파일이 존재하지 않는 경우이 기능을 내부적으로 제공하는 것은 타사 응용 프로그램에 달려 있습니다. 이 시나리오의 문제는 가비지 수집과 관련하여 많은 프로그램이 제대로 작동하지 않으며 디스크에 가짜 .temp 파일이 남아 있다는 것입니다. 이러한 나머지는 설치 매니페스트의 일부가 아니며 제거 절차를 방해하고 디스크 액세스 속도를 저하시킬 수 있습니다.

내 의견은 스왑 파일이 일반적으로 좋은 것입니다. 실제로 시스템이 Ram으로 채워져 있고 하나의 특정 작업에 전념하고 해당 응용 프로그램이 이러한 모든 것을 처리하는 경우 스왑 파일이 필요하지 않을 수 있습니다. 예를 들어 Windows 플랫폼에서 실행되는 아케이드 비디오 게임 일 수 있습니다. 이러한 게임은 일반적으로 장치에 필요한 드라이버 만 설치되며 드라이버 경합이 발생하지 않습니다. 그러나 대부분의 응용 프로그램은 발생할 수있는 모든 잠재적 인 문제, 특히 다른 타사 응용 프로그램 및 드라이버 경합의 영향을 포함하는 모든 문제를 처리하지 않습니다.

페이지 파일을 추가하면 단기적으로 성능이 다소 저하되는 것을 알 수 있지만 장기적으로는 성능이 일정하게 유지되어야합니다. 처음에는 페이지 파일이없는 것이 더 빠를 수 있지만 시간이 지남에 따라 성능이 크게 저하됩니다.

Steven Malm, MCP


답변

개인적인 경험

현재 8GB RAM이 장착 된 랩톱에 페이지 파일 생성 / 사용을 방해하는 데 문제가 있습니다. 내 인생은 지옥이야 나는 “Low Memory”프롬프트, 앱 크래시 등을 지속적으로 받는다. 각각 1-1.5GB를 먹는 3 개의 프로그램 (예를 들어, 웹 브라우저, 특수 플러그인이있는 Visual Studio 등)을 사용하면 얇은 얼음 위를 걷고있다.

또 다른 논쟁

실제 RAM 캐시의 데이터를 사용하는 것이 매우 빠릅니다. “사용 가능한”실제 RAM이 많을수록 더 큰 캐시를 보유 할 수 있습니다. OS가 물리적 RAM에서 페이지 파일로 이동할 수있는 휴면 데이터가 많을수록 자주 액세스하는 데이터의 캐시에 더 많은 물리적 RAM이 사용 가능해집니다.

위치를 변경할 때 위치 데이터를로드하는 게임을한다고 가정하십시오. 또한 웹 브라우저가 실행 중이며 2GB를 게임에 남겨두면 단일 위치에 충분합니다. 페이지 파일이 없으면 위치를 변경할 때마다 HDD에서 데이터가 천천히로드됩니다. 페이지 파일을 사용하면 사용하지 않는 웹 브라우저 데이터가 페이지 파일로 전송되고 소중한 물리적 RAM을 사용하여 여러 위치에 대한 데이터를 저장하여 훨씬 빠른 위치로드를 수행합니다.


답변