스왑 파일을 마운트할 때 'discard' 옵션을 사용해야 합니까?

스왑 파일을 마운트할 때 'discard' 옵션을 사용해야 합니까?

아치 위키는 말한다defaults,discard에서 사용할 수 있는 것fstab스왑 파티션용 파일 그러나 스왑 파일에 대해서는 명확하지 않으며,맨 페이지.

스왑 파일이 옵션으로 마운트된 파일 시스템에 있는 경우 discard(그리고 당연히 SSD에 있는 경우) 다음을 사용해야 합니다.discard 파일 시스템에 있는 경우 자체적으로 사용해야 합니까? 그리고 상위 파일 시스템이~ 아니다 discard'잉?

직관은 "아니오"라고 말하지만 나는 그것에 대해 아무것도 찾을 수 없었고 토론할 가치가 있다고 생각했습니다.

답변1

나는 아니오라고 말할 것입니다.

1: 스왑 공간은 동일한 개념을 사용하지 않습니다.자유 공간파일 시스템으로

2: 중요한 것은 마모 레벨링이 적절하게 작동할 수 있도록 항상 SSD에 최소 25%의 여유 공간을 유지해야 한다는 것입니다(이 값은 Sandisk 담당자가 전화로 나에게 제공한 값입니다).

=> 디스크에 작업하고 WL을 수행할 예비 클러스터가 있는 한 디스크의 5%가 트리밍되지 않거나 계속해서 다시 쓰여지는지는 실제로 중요하지 않습니다. 동일한 논리 또는 물리 섹터를 다시 쓰는 경우에도 마찬가지입니다. , WL은 충분히 큰 블록을 쓸 때 어쨌든 다른 클러스터를 사용합니다.

스왑을 위해 전체 디스크를 사용하는 경우 질문에 대한 답이 남아 있습니다. 스왑에 사용되는 전체 디스크는 트리밍을 하지 않으면 조기 노화가 발생할 수 있습니다.

다른 질문은: 스왑 드라이버가 Discard를 지원합니까? ext3/ext4는 그렇습니다.

아마도 스왑이 디스크의 상당 부분을 차지하는 경우 가능하다면 종료 중에 스왑 공간을 버리거나 다듬을 수 있습니다. 가능하다면 모든 서비스를 종료한 후 스왑오프를 수행하고 스왑 공간을 버릴 방법을 찾으십시오(이후 저는 전문가가 아니며 질문에 답하지 않으려면 mkfs.ext3, fstrim, mkswap에 다시 제안하겠습니다. 아마도 다른 더 나은 솔루션이 UPS로 인한 것인지 확인하세요.

답변2

다른 답변이 남긴 질문/제안 중 일부는 아래 문서를 읽으면 답변을 얻을 수 있습니다.

파일 시스템에서는 권장되지 않는다고 생각합니다 discard. 대신 주기적으로 실행하는 것이 좋습니다 fstrim. 이에 대한 크론 작업을 찾을 수 있습니다.

커널 개발자는 최근에도 폐기 작업 성능에 대해 특별히 만족하지 않습니다. 기기마다 너무 다릅니다. 그리고 주기적으로 폐기 작업을 수행해야 합니다.그래도, 장치가 너무 바쁜 경우 폐기 작업을 중단할 수 있기 때문입니다.

다른 답변에서 알 수 있듯이 파일 시스템은 스왑 공간보다 훨씬 크므로 달리 증명할 수 없는 한 옵션을 추가하지 않는 것이 가장 좋습니다 discard. 영리 하지만 discard=once여전히 부팅 속도가 느려질 가능성이 있습니다(스왑 공간을 사용한 경우). 그래서 나는 그것을 활성화할 가치가 없다고 본다.

남자 교환

-d, --discard[=정책]

스왑 지원 장치가 폐기 또는 다듬기 작업을 지원하는 경우 스왑 폐기를 활성화합니다. 이는 일부 솔리드 스테이트 장치의 성능을 향상시킬 수 있지만종종 그렇지 않습니다. 이 옵션을 사용하면 두 가지 사용 가능한 스왑 폐기 정책 중에서 선택할 수 있습니다. --discard=once는 swapon의 전체 스왑 영역에 대해 단일 폐기 작업을 수행합니다. 또는 --discard=pages 해제된 스왑 페이지를 재사용하기 전에 비동기적으로 폐기합니다. 정책을 선택하지 않은 경우 기본 동작은 두 삭제 유형을 모두 활성화하는 것입니다. /etc/fstab 마운트 옵션 Discard, Discard=once 또는 Discard=pages를 사용하여 폐기 플래그를 활성화할 수도 있습니다.

관련 정보