스왑 : 전용 스왑 파티션을 만들거나 스왑 파일을 만드는 것이 더 낫습니까?


9

전용 스왑 파티션을 만들거나 스왑 파일을 만들 때의 이유는 무엇입니까 (예 : / tmp / swap)?

필자의 경우 메모리는 약간 (1GB), SSD의 디스크 공간은 꽤 큽니다 (256GB). 따라서 스와핑은 꽤 정기적으로 발생합니다.

모든 의견에 감사드립니다!

카 스텐


4
교체에 SSD를 사용하면 SSD의 수명이 단축 될 수 있습니다. askubuntu.com/questions/652337/…
steve

답변:


3

스왑 파티션과 달리 스왑 파일을 사용할 때 볼 수있는 가장 큰 단점은 스왑 파티션을 조각화 할 수는 없지만 생성시 파일 시스템의 스왑 파일이 분할 될 수 있다는 것입니다 순차적 액세스가 느려집니다.


2
SSD는 임의 읽기 페널티가 없으므로 조각난 파일로 인한 피해는 거의 없습니다.
David King

솔직히 말해서, 그 이후로 스왑 파티션을 선호 해 왔지만 독일에서 여기서 말하는 것처럼 "아무런 비용이 없습니다";-)
CarstenP

1
구성된 RAM 및 스왑 파티션을 소진 할 수있는 큰 프로젝트가 올 것으로 예상되면 종종 스왑 파일을 임시 사용을 위해 만들지 만 파티션을 유지하고 싶습니다. 이렇게하면 홈 파티션을 재사용 할 수있는 것처럼 Linux 배포판간에 스왑 파티션을 재사용 할 수 있습니다.
DopeGhoti

1
“파일 시스템에서 파일에 쓸 때 통과 할 더 많은 커널 코드 계층”에 대한 부분은 사실이 아닙니다.“ 커널은 스왑 시간에 스왑 오프셋-> 디스크 블록의 맵을 생성 한 다음 해당 맵을 사용하여 스왑을 수행합니다. 모든 캐싱, 메타 데이터 및 파일 시스템 코드를 무시하고 기본 디스크 큐에 대한 I / O. Linux-Kernel Archive : Re : 스왑 파티션 및 스왑 파일
Anthony Geoghegan

1

파일에 대한 I / O 작업은 더 많은 커널 코드 계층 (예 : VFS)을 거쳐야하므로 파일로 스와핑하는 데 더 많은 오버 헤드가 발생합니다. 반면에 더 유연한 설정이며 귀하의 경우에 충분할 수 있습니다.


아마도 나는 스왑 I / O의 화려 함, 오리 및 상황에 익숙해 져야 할 것입니다 ... 리눅스에 대한 좋은 점은 느리고 간단합니까? ^^ : D PS : 글쎄, "느린"것을 잊어 버리
세요

“실제로 커널은 스왑 시간에 스왑 오프셋-> 디스크 블록의 맵을 생성 한 다음이 맵을 사용하여 모든 캐싱, 메타 데이터 및 파일 시스템 코드를 무시하고 기본 디스크 큐에 대해 스왑 I / O를 직접 수행합니다. Linux-Kernel Archive : Re : 스왑 파티션 및 스왑 파일
Anthony Geoghegan

1

스왑 파일에 대한 액세스는 파일 시스템을 통과하지 않습니다 ... 커널은 어느 디스크 블록이 스왑되는지 알고 있으며 직접 액세스합니다 1 . 그러나 연속되지 않은 파일은 디스크의 다른 영역에 조각이있을 수 있으며 특정 사용에 따라 추가 탐색을 수행하면 전용 파티션보다 속도가 느려질 수 있습니다.

OTOH, 스왑 파티션이없는 클라우드 서버를 처리 할 때 스왑 파티션을 만들 가능성이없는 경우 스왑 파일로 응용 프로그램을 저장할 수 있습니다.


[1]커널은 스왑 시간에 스왑 오프셋-> 디스크 블록의 맵을 생성 한 다음이 맵을 사용하여 모든 캐싱, 메타 데이터 및 파일 시스템 코드를 무시하고 기본 디스크 큐에 대해 스왑 I / O를 직접 수행합니다. Linux-Kernel Archive : Re : 스왑 파티션과 스왑 파일


fs가 파일 블록을 이동 / 크기 조정하면 어떻게 되나요? 스왑 파일의 경우 적어도 fs 드라이버 상호 작용이 있어야한다고 생각합니다.
peterh-복 직원 모니카

공감. 이것은 커널이 스왑에 사용되는 디스크 블록에 직접 액세스한다는 것을 나타내는 유일한 대답이므로 허용되는 답변이어야합니다.
Anthony Geoghegan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.