Linux 시스템에서 스왑 영역의 양과 관련이 있습니까?


12

Linux에서 스왑 영역의 양이 너무 작게 설정되어 있는지 (1Gb와 같은) 중요 RAM이 중요합니까 128Gb?

항상 스왑 영역의 양을 RAM의 두 배로 설정해야합니까?

업데이트 :

안녕하세요,이 질문에 답해 주셔서 감사합니다. 실제로 작은 클러스터 시스템을 사용할 때 약간의 문제가 발생했기 때문에이 질문이 있습니다. 문제는 여기 에 게시되어 있습니다. 다음 그림은이 소규모 클러스터의 일부 컴퓨터에 대한 정보입니다.

정보

MEMTOT해당 시스템의 RAM의 총량은이 SWAPTO그 기기의 SW AP 영역의 총량이고,는 SWAPUSSWAP 영역의 사용량이다. 그림에서 볼 수 있듯이 SWAP의 사용량은 실제로 적습니다.

에 게시 이러한 문제 해결을 시도 할 때 다음을 SWAP 영역의 양이 단지이다, 너무 작게 설정되어있는 경우, 우리는하지 확신 1Gb을 기준으로 128Gb그림과 같이. 따라서이 질문이 있습니다. 이 게시물의 원본 버전에 전체 배경 정보를 게시하지 않아서 죄송합니다. 그 전에 RAM의 양이 많으면 SWAP의 양을 작게 설정할 수 있다고 생각했습니다. 우리의 SWAP 설정하려고 c0148할 수를 16Gb, 문제가 전혀 없을 것 (어쩌면 우리는 오랫동안 자신의 상태를 관찰 한 후이 결론을한다).

우리는 Linux 시스템의 전문가가 아니며 왜 이런 일이 발생했는지 설명 할 수 없었습니다. 이것이 클러스터 시스템 일 가능성이 있으며 SGE가 각 시스템의 자원을 관리하고 있으며 해당 시스템은 많은 사용자가 제출 한 많은 작업에 의해 사용될 수 있기 때문에 상대적으로 많은 양의 SWAP가 필요합니다.

또한 SWAP의 양을 너무 크게 설정하면 다른 문제도 고려할 가치가 있습니다.


1
128Gb의 램이 있고 스와핑을 시작하면 시스템이 제어 할 수없는 상태 일 수 있습니다. 개인적으로 아마도 스왑없이 해당 서버를 실행했을 것입니다. OOMKiller는 메모리 부족으로 인해 충돌이 발생하기 전에 런 어웨이 프로세스를 처리해야하며 충돌이 더 빨리 해결됩니다.
Ryan Gooler

1
어느 것입니까? init에서 나온 몇 메가? 실제로 램이 필요한 즉시 던져 질 캐시 메모리? 컴퓨터가 메모리 스왑 기능을 필요로하는 경우, 오버로드되어 어쨌든 확장해야합니다.
Ryan Gooler

1
@Ryan Gooler : 과학 시뮬레이션을 수행하는 경우 128Gb 이상을 사용하는 프로세스는 무리가 없습니다.
jamesqf


1
@RyanGooler 충분합니다. 내 요점은 스왑을 늘리면 프로그램이 더 많은 물리적 램을 사용할 있다는 것 입니다. 그것은 단지 몇 메가 바이트이지만 아무것도 아닌 것보다 낫습니다 :)
Navin

답변:


19

Linux 커널에는 /unix/88693/why-is-swappiness-set-to-60-by-default에swappiness 설명 된 스왑 사용 빈도를 제어하는 ​​설정이 있습니다 .

swappiness가 0이면 시스템 메모리가 부족한 경우에만 스왑이 사용됨을 의미합니다. 100의 교체는 프로그램이 즉시 교체를 사용하도록합니다.

시스템을 원하는대로 조정하지만 128GB의 RAM이 있으면 시스템에 메모리가 부족할 가능성이 거의 없으므로 2 / 4GB의 스왑이 충분할 수 있습니다. 스왑 파티션없이 시스템을 실행하는 것은 좋지 않지만 가능합니다.

스왑 영역의 규칙은 RAM 양의 두 배가되어야한다고 생각합니다. RAM이 1GB 정도이고 항상 전체 RAM 사용량의 가장자리에있는 시스템에서만 유용합니다.


2
설정하는 동안 swappiness0으로하는 RAM의 많은 양의 논리적 것, 그것의 기본 값으로 유지하는 것이 더있을 수 있습니다 60: http://unix.stackexchange.com/a/88820/50687 .
AL

1
한 축에 swappiness 형식이 0 ~ 100 인 그래프와 다른 축에 다른 그래프가 있습니까?이를 어떻게 나타내는 지 ... swappiness가 값에 의존합니까?
user1306322

안녕하세요, @jcbermu, 게시물을 업데이트했습니다. 편리한 경우 확인하십시오.
채광

5

나는 2 배의 경험 법칙이 구식이라고 믿는다. 우리 워크 스테이션에는 16GB 램이 있으며 일반적으로 그 중 약 25 % 만 사용하고 50 % 이상은 거의 사용하지 않습니다. 따라서 우리는 스왑을 사용하지 않습니다.

생성 할 스왑의 양을 결정해야하기 때문에 어느 시점에서든 원하는 숫자로 충분하지 않다는 이론적 인 이유가 있다면 왜 0을 선택하지 않습니까? 아니면-왜 더 많은 RAM을 설치하지 않습니까?

나는 이것이 당신의 컴퓨터가 어떻게 사용될 것인지와 얼마나 많은 RAM을 가지고 있는지에 따라 매우 개인적인 결정이라고 믿습니다.


안녕하세요, @gjcamnn, 답변 주셔서 감사합니다. 편리하다면 게시물을 업데이트했습니다. 확인하십시오.
채광

0

메모리 소비 계산을 수행하지 않는 한 스왑이 전혀 필요하지 않지만 작은 스왑 파티션을 갖는 것이 좋습니다. 그러나 디스크 일시 중단을 사용하려면 swap> ram이 필요합니다.


안녕하세요, @ustp, 답변 주셔서 감사합니다. 편리하다면 게시물을 업데이트했습니다. 확인하십시오.
채광
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.