스왑 파티션이 없다는 단점


8

최근에 랩탑에 Ubuntu 10.04를 설치했습니다. SSD의 공간 제약으로 인해 OS에 대한 스왑 파티션을 설정하지 않았으며 1.5GB의 RAM이 있습니다.

설치 중에 경고가 발생하지만 모든 것이 순조롭게 진행된 이후 큰 문제는 아니라고 생각합니다.

장기적으로 스왑 파티션이 없다는 단점이 있습니까?


2
Gparted는 귀하의 루트 드라이브 몇 조각을 새기고 기꺼이 할 것입니다.
msw

답변:


6

나는 당신에게 질문에 대한 답을 쓰려면 먼저 전체 스왑 파일에 대해 조금 설명해야한다고 생각합니다. 바람이 부는 날 용서해주세요

윈도우의 페이지 파일과 비슷한 스왑 파일 / 스왑 파티션은 메모리를보다 효율적으로 사용하기위한 전용 하드 디스크 공간입니다. 스왑 공간은 두 가지 용도로 사용됩니다.

  1. 모든 응용 프로그램에 충분한 메모리가없는 경우 (스왑 공간이없는 시스템에 이런 경우가 발생하면 새 메모리 페이지를 요청하는 새 응용 프로그램에 메모리를 할당하지 못함) 일반적으로 프로그램이 종료됩니다.

  2. 일부 메모리 페이지 (메모리가 '페이지'로 나뉘어 짐)가 얼마 전에 사용되었지만 이제는 더 이상 사용되지 않으면 스왑 파일로 전송되고 남은 메모리를 사용하여 더 유용한 다른 작업을 수행 할 수 있습니다 ( 예를 들어 캐싱!)-스왑 공간이없는 시스템에서이 문제가 발생하면 유휴 페이지가 메모리에 남아있게됩니다. 우리가 요즘 꽤 많은 양의 메모리를 가지고 있기 때문에 이것은 너무 심각하지 않습니다.

그런 다음 이제 스왑 파일 / 스왑 파티션의 사용을 나열했습니다. 일반적으로 얼마나 권장됩니까? -기계의 기능에 따라 다릅니다. 데스크톱 시스템 인 경우 메모리의 1-1.5 배로 설정하십시오. 서버 시스템 인 경우에도 동일하게 수행하되 스왑 사용에주의하십시오. 사용량이 많으면 메모리를 업그레이드하십시오.

다른 사람들이 지적했듯이 gparted는 ext2 / ext3 파티션에서 몇 개의 공간을 만드는 데 도움이되지만 스왑 파일을 사용할 수도 있습니다.

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

당신은해야합니다

swapfile none swap sw 0 0

fstab가 재부팅 할 때마다 사용되는 보장

그리고 한 가지 더 : 스왑 공간이 필요하지 않지만 메모리가 실제로 확장되지 않는 한 사용을 최소화하려는 경우 /proc/sys/vm/swappiness(값, 0-100; 기본값, 60).


크래시 덤프 파일을 자동으로 저장하는 데 사용되는 스왑 파티션과 같이 지정한 내용 이외의 스왑을 사용할 수 있습니다. 또한 1-1.5x 메모리 크기는 보편적으로 허용되는 값이 아닙니다. 이론적으로, 더 많은 메모리를 가진 컴퓨터는 스왑을 위해 더 적은 메모리를 필요로 할 것입니다. X RAM이 사용되었고 Y 더 많은 RAM이 필요했기 때문에 스왑 대신 사용 가능한 RAM에 추가 메모리를 넣을 수 있습니다.
TOOGAM

@TOOGAM 사람들이 데스크톱에서 2-4GB의 램과 같은 것을 사용하는 것은 2010 년이었습니다.
bubu


3

메모리가 부족하면 프로그램에 예기치 않은 동작이 발생할 수 있습니다. 때때로 커널은 임의의 장소에서 메모리를 떨어 뜨리기 시작합니다 . 커널은 우선 순위가 낮은 프로세스를 삭제하기 시작합니다.

가상 메모리가 큰 어려움을 겪을 수는 없습니다. 특히 우선 순위가 낮은 중요한 문서를 삭제하여 메모리를 삭제 하기 시작할 경우 특히 그렇습니다 .


3
이것은 스왑이 있었는지 여부에 관계없이 발생합니다.
Ignacio Vazquez-Abrams

2
실제로 커널은 "임의의 장소에서 메모리 삭제를 시작하지 않습니다". 오히려 상황이 개선 될 때까지 수행해야 할 작업을 수행하고 "중요하지 않은"것으로 간주되는 프로세스를 종료합니다. 이것은 "OOM killer"에 의해 수행됩니다. 예를 들어 linux-mm.org/OOM_Killer
sleske

나는 정정되었다.
Nitrodist

0

설치 후 메모리 집약적 인 작업을 실행하거나 Openoffice.org와 같은 '대형'앱을 열거 나 파일 압축 해제 등의 메모리 사용을 확인하십시오. 사용 된 총 메모리가 거의 1.5GB 인 경우 많은 메모리를 사용하는 것을 편리하게 실행하고 우분투가 중요한 메모리를 삭제하기 시작하는 경우를 대비하여 스왑 파티션 또는 스왑 파일을 갖는 것이 좋습니다. 커널의 일부조차도 (좋지 않다, 정말로 좋지 않다 ...).


궁금합니다. 프로세스 실행을 위해 메모리를 확보하기 위해 리눅스가 커널의 일부를 떨어 뜨릴 수 있습니까?
Igor Zinov'yev

아마 아닙니다, 그러나 당신은 내가 무슨 뜻인지 알지만 ...
Hello71

AFAIK, Linux 커널 자체는 항상 메모리에 남아 있습니다. 부팅 순서의 첫 부분으로로드되어 유지됩니다. 메모리가 해제되거나 스왑되지 않습니다. 그러나 모듈을로드 및 언로드 수 있으며 메모리 해제 될 것입니다 (믿습니다). 일반적으로 모듈 당 수십 kb입니다. 커널은 또한 다양한 내부 데이터 구조 및 버퍼를 유지 관리하지만 일부는 해제 할 수 있습니다 (확실하지는 않음).
sleske 2016 년

0

완전한 대답은 아니지만 여기에 내가 통제 할 수있는 모든 단점이 있다고 생각했을 때조차 실제로 나를 공격 한 한 가지 이야기가 있습니다.

/programming/4567972/error-executing-aapt-all-of-the-sudden 요약하면, 실제로 큰 Java 프로세스 / 응용 프로그램에서 실행되는 일부 도구는 항상 실행할 수 없습니다. 그러나 대부분의 일반 사용자는이 문제에 부딪치지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.