스와핑으로 성능이 향상되는 이유와 방법은 무엇이며 비활성화할 수 있습니까? [폐쇄]

스와핑으로 성능이 향상되는 이유와 방법은 무엇이며 비활성화할 수 있습니까? [폐쇄]

8GBRAM을 실행하는 노트북이 있습니다 4.0.4-2-ARCH. 최근에 설치했는데안드로이드 스튜디오, 그리고 갑자기 붐, 평소에 원래 있던 내 시스템이 갑자기 바뀌었습니다.말더듬 및 전반적인 경직(두 번 이상).

앞으로안드로이드 스튜디오, 편안하게 도망쳤어요SMB, Minidlna, Plex, MySQL, PostgreSQL, Apache 및 Chrome동시에 문제가 없습니다. 이제는 뛰지도 못해요크롬 합금그리고안드로이드 스튜디오. 두 경우 모두, free시스템 모니터보고서는 메모리만 6.5G사용합니다!

그래서 좀 파고들어 활성화시켰습니다.교환( 5G스왑 파일). 성능 향상에 놀랐어요! 더 이상 지연이 발생하지 않습니다. 그러나 최대 부하 중에는 (스튜디오와 크롬) 사용량은 5GRAM + 1.5G스왑 영역입니다.

이것은 나를 약간 혼란스럽게 만들고 두 가지 질문이 있습니다.

첫 번째, 왜 끊기는 걸까요? 특히 메모리만 사용하는 경우 6G왜 멈추나요 ?

두번째, 내 하드 드라이브( 1TB)는 약 3년 정도 되었는데,스왑을 비활성화 상태로 유지. 이것을 달성하는 다른 방법이 있습니까?교환과 비슷함하드 드라이브에 스트레스를 주지 않고 성능을 발휘합니다. 나는 그것을 swappiness10이라는 낮은 값으로 설정했는데, 이는 대략 괜찮고 1G내 노트북은 최대치입니다 RAM.

나는이 훌륭한 답변을 읽었지만그 사람들이 마음에 들지 않아서 이렇게 묻는 거예요.

편집하다: 이 답변은리눅스사용 가능한 메모리를 모두 사용하므로 새 프로그램의 경우페이징컴퓨터 속도가 느려질 수 있습니다. 하지만 내용이 많으면리눅스메모리에 넣는 것은 그렇게 하지 않고도 관리할 수 있는 일인데, 많은 양의 메모리가 필요한 프로그램을 실행할 때 성능이 저하되는 이유는 무엇입니까? 내 말은, 가장 좋은 시나리오는 프로그램 시작이 느려져야 한다는 것입니다(페이징).

  1. RAM이 충분하면 스왑 공간이 필요합니까?

  2. 아직 여유 메모리가 많은데 스왑을 사용하는 이유는 무엇입니까?

  3. 교환이 부적절합니까?

답변1

RAM이 충분한 것처럼 보일 수도 있지만 Linux는 파일 데이터를 메모리에 버퍼링합니다. /tmp액세스 속도를 높이기 위해 파일 시스템을 메모리에 배치하는 것도 일반적입니다. 스왑을 활성화하지 않으면 많은 항목이 메모리에 갇혀 자주 액세스하는 파일이 캐시되지 않을 수 있습니다. 실제로 선택할 수 있는 옵션은 사용하지 않은 메모리를 디스크로 페이지하거나 디스크에서 파일을 반복적으로 읽는 것입니다. 메모리(버퍼 포함)가 가득 차면 IO 없이는 어떤 옵션도 없습니다.

오늘날에는 전체 프로그램을 교체하는 대신 최근에 액세스하지 않은 메모리를 교체하기 위해 메모리를 페이지 아웃하는 것이 일반적입니다. 페이지를 매길 수 있는 콘텐츠는 다음과 같습니다.

  • 프로그램에 로드되어 메모리 위치를 수정한 비PIC(위치 독립적 코드)입니다.
  • 적극적으로 사용되지 않는 프로그램에서 데이터를 읽습니다.
  • 적극적으로 사용되지 않는 임시 파일(페이징될 수 있음)
  • 적극적으로 사용되지 않고 백업 백업 저장소가 없는 기타 메모리입니다.

디스크에서 읽은 PIC 및 기타 수정되지 않은 데이터는 스왑을 사용하는 대신 데이터를 읽은 파일을 백업 저장소로 사용할 수 있습니다.

sar페이징 모니터링, 스와핑, 디스크 I/O 등의 프로그램을 사용할 수 있습니다. 스왑을 활성화하면 디스크 사용량이 줄어들기를 바랍니다.

디스크를 일시 중단하려면 일반적으로 일시 중단 중에 메모리를 복사할 수 있는 상당히 큰 스왑 공간이 필요합니다.

관련 정보