>운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스 스왑 파티션이 필요합니까?

리눅스 스왑 파티션이 필요합니까?

WBOY
WBOY원래의
2022-07-27 15:44:003123검색

Linux 스왑 파티션은 필요하지 않습니다. Linux 시스템은 스왑 파티션 없이 완벽하게 실행될 수 있으며 일부 경우에는 임베디드 솔루션과 같이 Linux가 스왑 없이 실행될 수 있으며 스왑 파티션은 가능한 많은 물리적 메모리를 가지고 있어 스왑을 방지하는 가장 좋은 솔루션입니다.

리눅스 스왑 파티션이 필요합니까?

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

리눅스 스왑 파티션이 필요한가요?

리눅스 시스템은 스왑 파티션 없이도 완벽하게 실행될 수 있습니다.

Linux를 설치할 때 설치 프로세스에서 Linux 자체의 파티션뿐만 아니라 하드 드라이브에 스왑 파티션도 추가할 수 있습니다. 그런데 이 스왑 파티션은 무엇을 위해 사용되며, 정말 필요한가요?

교환이란 무엇인가요?

멀티태스킹 운영 체제에 물리적 메모리가 부족하면 새 프로세스를 시작하거나 기존 프로세스에 더 많은 메모리를 할당할 수 없습니다. 이 문제를 해결하기 위해 로컬 저장소(일반적으로 하드 드라이브)의 특수 공간 블록을 운영 체제의 임시 보관 영역으로 확보하여 새로운 작업을 위한 메모리를 확보합니다. 비활성 프로세스가 다시 활성화되면 로컬 저장소에서 메모리로 다시 스왑됩니다. 이 프로세스를 교환이라고 합니다.

스왑 공간이 꼭 필요한가요?

기술적으로 스왑 공간이 필요한가요?

아니요. Linux는 스왑 없이도 작동할 수 있으며 임베디드 솔루션과 같은 경우에는 스왑 없이도 Linux를 실행할 수 있습니다. 운영 체제에 물리적 RAM이 충분하지 않은 상황이 발생하면 머신은 문제 없이 실행됩니다.

스왑 공간이 실제로 필요한가요?

스왑을 사용하면 컴퓨터 속도가 느려지고(하드 드라이브에 읽고 쓰는 것이 RAM에 액세스하는 것보다 훨씬 느리기 때문에) 물리적 메모리를 최대한 많이 확보하는 것이 스왑을 방지하는 최선의 솔루션이지만 스왑이 필요한 합법적인 상황이 있습니다. . 예를 들어, 시스템 부팅 중에 일부 프로세스가 실행 중(따라서 시스템 메모리를 소비함)이 있지만 실제로는 오랜 시간 동안 절전 모드에 있을 수 있습니다. 또는 할당된 메모리에 기록된 후 다시는 사용되지 않습니다. 이러한 경우 스왑 알고리즘은 해당 메모리를 하드 디스크로 마이그레이션하기 시작하여 귀중한 시스템 메모리를 확보합니다. 이렇게 하면 항상 최대 RAM 용량을 사용할 수 있으므로 성능이 향상됩니다.

지식을 넓히세요

머신에서

완전성을 기하기 위해 Linux에는 메모리가 고갈되면 대신 커널을 중지하는 OOM(Out of Memory)이라는 하위 시스템도 있다는 점을 언급할 가치가 있습니다. 리소스를 확보하기 위해 프로세스 종료를 시작합니다. 해당 작업은 구성 가능합니다.

스왑 공간을 얼마나 할당해야 합니까?

절대적인 규칙은 없습니다. 하드 드라이브 공간이 저렴하기 때문에(USD/Gigabit) 너무 많은 공간을 할당하는 것이 좋습니다. 경험상 물리적 메모리보다 스왑 공간이 2~3배 더 많아야 합니다.

스왑 파티션을 확장하지 않고 스왑 추가

기존 스왑 파티션을 변경하지 않고 시스템에 스왑 공간을 추가하는 방법에는 두 가지가 있습니다. 한 가지 방법은 다른 드라이브의 스왑 파티션을 사용하는 것이고, 다른 방법은 스왑 파일을 사용하는 것입니다.

다른 하드 드라이브를 사용하려면 다음 유형의 파티션을 생성하십시오. 스왑 공간을 즉시 사용하려면 시스템에 스왑 공간을 영구적으로 추가하려면 /etc/fstab 파일을 편집하고 다음과 유사한 내용을 추가해야 합니다:

/dev Line no swap for /sdb2 sw 0 0

시스템이 고유 식별자를 사용하여 디스크 이름을 지정하는 경우 blkid 명령을 사용하여 장치 ID 목록을 가져옵니다. /etc/fstab에 스왑 공간을 마운트하는 줄은 다음과 같습니다. :

UUID = 036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0

스왑용 파일을 사용하려면 스왑용으로 사용할 파일 시스템에 큰 빈 파일(dd 사용)을 만듭니다. 예를 들어 1GB 파일을 생성하려면 다음을 입력하세요. =10mh1112

dd if = / dev / zero of = / store / swapfile bs = 1024 count = 1048576

여기서/store/swapfile은 원하는 파일 시스템의 스왑 파일 경로입니다.

첨부된 스왑 파티션과 마찬가지로 이제 mkswap과 swapon에서 사용할 수 있도록 파일을 준비해야 합니다. 또한 /etc/fstab 파일에도 추가해야 합니다. 프로세스는 위와 동일하지만 스왑 공간 매개변수로 /dev/sdb2 대신 /store/swapfile을 사용해야 합니다.

Swappiness

Linux 커널을 조정하여 메모리에서 프로세스를 얼마나 적극적으로 교체하려고 시도하는지 정의할 수 있습니다. 이러한 추세는 swappiness라는 커널 변수에 의해 제어됩니다. 0은 커널이 가능할 때마다 스왑을 방지한다는 것을 의미하고, 100은 커널이 스왑 공간을 사용하는 방식에 적극적이라는 것을 의미합니다. 많은 Linux 배포판의 기본 설정은 60입니다. 이 명령을 사용하여 숫자를 동적으로 변경할 수 있습니다. :

sudo sysctl vm。swappiness = 10

값을 영구적으로 설정하려면 /etc/sysctl에서 swappiness 변수를 변경(또는 존재하지 않는 경우 추가)해야 합니다. . conf 파일.

추천 학습: Linux 비디오 튜토리얼

위 내용은 리눅스 스왑 파티션이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.