
비공식(예: 저널리즘) 기술 언론과 온라인 기술 블로그 및 토론 포럼에서 하드 디스크 드라이브나 솔리드 스테이트 드라이브에 일정량의 여유 공간을 남겨두라는 일화적인 조언을 흔히 접하게 됩니다. 이에 대한 다양한 이유가 제시되거나 때로는 이유가 전혀 제시되지 않습니다. 따라서 이러한 주장은 실제로는 합리적일 수 있지만 신화적인 분위기를 풍깁니다. 예를 들어:
-
“디스크가 80% 차면 디스크를 고려해야 합니다.가득한, 즉시 항목을 삭제하거나 업그레이드해야 합니다. 그들이 맞으면90%가득 차면 자신의 바지에 실제 불이 붙었다고 생각하고 이를 해결하기 위해 적절한 수준의 즉각적 대응을 해야 합니다.” (원천.)
-
"가비지 수집을 최고 효율로 유지하려면 드라이브의 20~30%를 비워 두는 것이 전통적인 조언입니다." (원천.)
-
"더 나은 성능을 위해서는 HD에 약 20%의 여유 공간을 남겨두어야 한다는 말을 들었습니다. HD가 가득 차면 속도가 정말 느려진다는 것입니다." (원천.)
-
“스왑 파일과 임시 파일을 위한 공간을 남겨 두어야 합니다. 현재 33%의 여유 공간을 남겨두고 있으며, HDD 여유 공간이 10GB 미만이 되지 않도록 노력하겠습니다.” (원천.)
-
"일반적으로 15%라고 말하고 싶지만 요즘 하드 드라이브의 크기를 고려하면 임시 파일과 스왑 파일을 저장할 수 있는 충분한 공간이 있는 한 기술적으로는 안전합니다." (원천.)
-
"Windows에서는 10% 이상을 권장합니다. 실행 시 드라이브에 여유 공간이 많지 않으면 조각 모음이 실행되지 않기 때문입니다." (원천.)
-
"조각화를 피하기 위해 일반적으로 약 10%를 여유 공간으로 남겨 두는 것이 좋습니다." (원천.)
-
"드라이브가 지속적으로 75~80% 이상 차면 더 큰 SSD로 업그레이드하는 것을 고려해 볼 가치가 있습니다." (원천.)
운영 체제, 파일 시스템 및 스토리지 기술(예: 자기 플래터와 솔리드 스테이트)의 특정 조합에 필요한 여유 공간의 비율 또는 절대량에 대한 연구(예: 동료 검토 저널에 게재되는 것이 바람직함)가 있습니까? (이상적으로 이러한 연구는 사용된 공간의 특정 양을 초과하지 않는 이유도 설명합니다. 예를 들어 시스템의 부족을 방지하기 위해스왑 공간, 또는 성능 손실을 방지하기 위해.)
혹시 그러한 연구에 대해 알고 계시다면, 해당 연구에 대한 링크와 함께 연구 결과에 대한 간략한 요약을 답변해 주시면 감사하겠습니다. 감사해요!
답변1
동료 검토 저널 [...]에 발표되는 연구가 있었습니까?
이를 위해서는 시스템 관리나 기타 분야에서 20년 이상을 거슬러 올라가야 합니다. 이는 적어도 30년 전에는 개인용 컴퓨터와 워크스테이션 운영 체제 세계에서는 뜨거운 주제였습니다. BSD 사람들이 Berkeley Fast File System을 개발하고 Microsoft와 IBM이 고성능 파일 시스템을 개발하던 때였습니다.
두 가지 모두에 대한 작성자의 문헌에서는 이러한 파일 시스템이 구성되는 방식을 논의합니다.블록 할당 정책연속적인 파일 블록을 연속적으로 만들려고 시도하여 더 나은 성능을 얻었습니다. 이 주제에 대한 최신 기사에서 블록 할당을 위해 남겨진 여유 공간의 양과 위치가 블록 배치와 성능에 영향을 미친다는 사실에 대한 논의를 찾을 수 있습니다.
예를 들어, Berkeley FFS의 블록 할당 알고리즘에 대한 설명을 보면 현재 및 보조 실린더 그룹에 여유 공간이 없고 알고리즘이 네 번째 수준 폴백에 도달하는 경우("완전한 모든 실린더 그룹으로 검색"), 디스크 블록 할당 성능은 파일 조각화(따라서 읽기 성능)와 마찬가지로 저하됩니다.
지난 30년 동안 통용된 지혜가 바탕이 된 것은 이러한 분석과 유사한 분석입니다(이것은 당시 파일 시스템 설계의 레이아웃 정책 개선을 목표로 한 유일한 파일 시스템 설계와는 거리가 멀습니다).
예를 들어: FFS 볼륨을 90% 미만으로 채워 성능이 저하되지 않도록 하는 원본 논문의 내용은 제작자가 수행한 실험을 기반으로 한 것으로 이번 세기에 출판된 Unix 파일 시스템에 관한 책에서도 무비판적으로 반복되는 것을 볼 수 있습니다 (예: , Pate2003 p.216) . Amir H. Majidimehr는 실제로 이전 세기에 xe가 실제로 눈에 띄는 효과를 관찰하지 못했다고 말했지만 이에 대해 의문을 제기하는 사람은 거의 없습니다. 특히 슈퍼유저 사용을 위해 최종 10%를 예약하는 관례적인 Unix 메커니즘 때문입니다. 즉, 90% 가득 찬 디스크는 슈퍼유저가 아닌 사용자에게도 사실상 100% 가득 차 있다는 뜻입니다.그래도 (Majidimehr1996 p. 68) . 빌 칼킨스(Bill Calkins)는 실제로 21세기 디스크 크기에서는 최대 99%까지 채울 수 있다고 제안한 후 낮은 여유 공간의 성능 효과를 관찰했습니다. 최신 크기 디스크의 1%라도 조각화되지 않은 여유 공간을 많이 확보하기에 충분하기 때문입니다. 아직 가지고 놀 수 없습니다 (Calkins2002 p. 450) .
후자는 받아들인 지혜가 어떻게 잘못될 수 있는지를 보여주는 예입니다. 이에 대한 다른 예가 있습니다. SCSI 및 ATA 세계와 마찬가지로논리 블록 주소 지정그리고존 비트 기록오히려 치밀한 계산을 모두 창밖으로 던져버렸다.회전 대기 시간BSD 파일 시스템 디자인에서는 SSD의 물리적 메커니즘이 윈체스터 디스크에 적용되는 지혜를 얻은 여유 공간을 창 밖으로 던져버립니다.
SSD를 사용하면 여유 공간이기기 전체에서, 즉, 디스크의 모든 볼륨에 걸쳐그리고 그 사이에, 성능과 수명 모두에 영향을 미칩니다. 그리고 SSD에는 회전할 플래터와 검색할 헤드가 없다는 사실로 인해 파일이 연속적인 논리 블록 주소가 있는 블록에 저장되어야 한다는 아이디어의 기반이 약화됩니다. 규칙이 다시 변경됩니다.
SSD의 경우 실제로 권장되는 최소 여유 공간은 다음과 같습니다.더33년 전 Winchester 디스크와 Berkeley FFS를 사용한 실험에서 나온 기존의 10%보다 높습니다. 예를 들어 Anand Lal Shimpi는 25%를 제공합니다. 이 차이는 여유 공간이어야 한다는 사실로 인해 더욱 복잡해집니다.전체 장치에서, 반면 10% 수치는각 단일 FFS 볼륨 내에서, 따라서 파티션 테이블에 의해 유효한 디스크 볼륨에 할당되지 않은 모든 공간을 TRIM할 수 있는지 파티션 프로그램이 알고 있는지 여부에 따라 영향을 받습니다.
또한 여유 공간을 TRIM할 수 있는 TRIM 인식 파일 시스템 드라이버와 같은 복잡성으로 인해 더욱 복잡해집니다.이내에디스크 볼륨, SSD 제조업체 자체도이미다양한 정도를 할당하다예약된 공간이는 가비지 수집 및 웨어 레벨링과 같은 다양한 용도로 장치 외부(예: 호스트)에서는 보이지도 않습니다.
서지
- 마샬 K. 맥쿠식, 윌리엄 N. 조이, 사무엘 J. 레플러, 로버트 S. 파브리(1984-08). UNIX를 위한 빠른 파일 시스템. 컴퓨터 시스템에서의 ACM 트랜잭션. 2권 3호. pp.181–197. cornell.edu에 보관되어 있습니다.
- 레이 던컨 (1989-09).새로운 고성능 파일 시스템의 설계 목표 및 구현. 마이크로소프트 시스템 저널. 4권 5호. 1~13페이지. wisc.edu에 보관되어 있습니다.
- 마샬 커크 맥쿠식, 키스 보스틱, 마이클 J. 카렐스, 존 S. 쿼터맨(1996-04-30). "버클리 고속 파일 시스템".4.4 BSD 운영 체제의 설계 및 구현. 애디슨-웨슬리 프로페셔널. ISBN 0201549794.
- 댄 브리지스(1996-05).고성능 파일 시스템 내부 - 4부: 조각화, 디스크 공간 비트맵 및 코드 페이지. 중요한 비트. OS/2용 Electronic Developer Magazine에 보관되어 있습니다.
- 키스 A. 스미스(Keith A. Smith)와 마고 셀처(Margo Seltzer)(1996). FFS 디스크 할당 정책 비교. USENIX 연례 기술 컨퍼런스 진행.
- 스티브 D. 페이트(2003). "FFS의 성능 분석". UNIX 파일 시스템: 진화, 설계 및 구현. 존 와일리 앰프; 자제. ISBN 9780471456759.
- 아미르 H. 마지디메흐르(1996).성능을 위해 UNIX 최적화. 프렌티스 홀. ISBN 9780131115514.
- 빌 칼킨스(2002). "파일 시스템 관리". 솔라리스 9 내부. 큐 출판. ISBN 9780735711013.
- 아난드 랄 심피(2012-10-04).최신 SSD의 여유 공간과 성능 일관성 간의 관계 탐색. 아난드테크.
- 헨리 쿡, 조나단 엘리소프, 로라 키스, 앤드루 워터맨(2010).IotaFS: SSD에 대한 파일 시스템 최적화 탐색. 가전제품에 대한 IEEE 거래. stanford.edu에 보관되어 있습니다.
- https://superuser.com/a/1081730/38062
- Accela 자오 (2017-04-10).SSD 및 FTL 요약. github.io.
- Windows는 SSD에서 분할되지 않은(포맷되지 않은) 공간을 잘라냅니까?
답변2
"동료 검토 저널"에 의해 출판되는 "연구"에 대해 말할 수는 없지만 일상적인 작업을 위해 이러한 저널에 의존하고 싶지는 않지만 수백 가지 제품의 현실에 대해 이야기할 수는 있습니다. 수년에 걸쳐 다양한 OS의 서버:
디스크가 가득 차면 성능이 저하되는 세 가지 이유가 있습니다.
- 여유 공간 부족: 임시 파일, 업데이트 등을 생각해 보세요.
- 파일 시스템 성능 저하: 대부분의 파일 시스템은 충분한 공간이 없을 경우 파일을 최적으로 배치하는 능력이 저하됩니다.
- 하드웨어 수준 저하: 여유 공간이 충분하지 않은 SSD 및 SMR 디스크는 처리량이 감소하고 더 나쁜 경우 대기 시간이 증가합니다(때로는 수십 배씩).
첫 번째 요점은 특히 정상적인 프로덕션 시스템이 파일을 동적으로 확장하고 축소하는 데 스왑 공간을 사용하지 않기 때문에 사소한 것입니다.
두 번째 점은 파일 시스템과 워크로드 간에 큰 차이가 있습니다. 작업 부하가 혼합된 Windows 시스템의 경우 70% 임계값은 상당히 유용한 것으로 나타났습니다. 파일 수가 적지만 큰 파일이 있는 Linux ext4 파일 시스템(예: 비디오 방송 시스템)의 경우 이는 최대 90% 이상까지 올라갈 수 있습니다.
세 번째 점은 하드웨어 및 펌웨어에 따라 다르지만 특히 Sandforce 컨트롤러가 있는 SSD는 쓰기 작업량이 많은 경우 자유 블록 삭제로 대체되어 쓰기 지연 시간이 수천% 증가할 수 있습니다. 일반적으로 파티션 수준에서 25%를 여유 공간으로 남겨두고 80% 미만의 채우기 비율을 관찰합니다.
권장 사항
내가 언급한 것을 깨닫는다어떻게최대 유효노출률이 적용되는지 확인하세요. 임의의 생각 중 일부는 "동료 검토"(유료, 가짜 또는 실제)가 아니라 모두 프로덕션 시스템에서 나온 것입니다.
- 파일 시스템 경계 사용:
/var
루트 파일 시스템에 속하지 않습니다. - 모니터링, 모니터링, 모니터링. 귀하에게 적합하다면 기성 솔루션을 사용하고, 그렇지 않으면 출력을 분석하고
df -h
만일의 경우에 대비해 경보음을 울리도록 하십시오. 이렇게 하면 자동 제거 옵션 없이 자동 업그레이드가 설치되고 실행되는 루트 fs의 30개 커널을 절약할 수 있습니다. - fs 오버플로로 인한 잠재적 중단과 처음에 더 크게 만드는 비용을 비교 평가해 보세요. 내장형 장치를 사용하지 않는 경우 루트용 4G를 두 배로 늘릴 수도 있습니다.
답변3
운영 체제, 파일 시스템 및 스토리지 기술의 특정 조합에 필요한 여유 공간의 비율 또는 절대량에 대한 연구가 있습니까?
20년 동안 시스템을 관리하면서 다양한 구성의 여유 공간 요구 사항을 자세히 설명하는 연구 결과를 본 적이 없습니다. 나는 이것이 컴퓨터가 너무 다양하게 구성되어 있기 때문에 가능한 시스템 구성의 수가 너무 많아서 수행하기 어려울 것이라고 생각합니다.
시스템에 필요한 여유 공간을 결정하려면 다음 두 가지 변수를 고려해야 합니다.
원치 않는 행위를 방지하기 위해 필요한 최소한의 공간,그 자체는 유동적인 정의를 가질 수 있습니다.
이 정의만으로 필요한 여유 공간을 정의하는 것은 도움이 되지 않습니다. 이는 벽돌 벽과 충돌하는 바로 그 지점까지 벽돌 벽을 향해 시속 80마일로 운전하는 것이 안전하다고 말하는 것과 동일하기 때문입니다.
스토리지가 소비되는 속도,이는 관리자가 반응할 시간을 갖기 전에 시스템 성능이 저하되지 않도록 추가 가변 공간을 예약하도록 지시합니다.
애플리케이션 동작, 가상 메모리 구성 등과 함께 OS, 파일 시스템, 기본 스토리지 아키텍처의 특정 조합은 명확한 여유 공간 요구 사항을 제공하려는 사람에게 상당한 어려움을 안겨줍니다.
그렇기 때문에 세상에는 조언에 대한 "너겟"이 너무 많습니다. 이들 중 다수가 특정 구성에 대한 권장 사항을 제시한다는 사실을 알게 될 것입니다. 예를 들어, "SSD가 용량에 가까워지면 성능 문제가 발생할 수 있는 경우 여유 공간을 20% 이상으로 유지하십시오."
이 질문에 대한 간단한 대답은 없기 때문에 식별을 위한 올바른 접근 방식은 다음과 같습니다.당신의시스템의 최소 여유 공간 요구 사항은 시스템의 특정 구성을 고려하여 다양한 일반 권장 사항을 고려한 다음 임계값을 설정하고 모니터링하고 필요에 따라 조정하는 것입니다.
아니면 최소한 20%의 여유 공간을 확보할 수도 있습니다.물론 SSD와 기존 하드 디스크의 조합으로 지원되는 42TB RAID 6 볼륨과 사전 할당된 스왑 파일이 없다면... (진지한 사람들에게는 농담입니다.)
답변4
SSD의 경우 다시 쓰기 속도가 증가하고 디스크의 쓰기 성능에 부정적인 영향을 미치기 때문에 약간의 공간이 남아 있어야 합니다. 80% 가득 참은 아마도 모든 SSD 디스크에 대해 안전한 값일 것입니다. 일부 최신 모델은 90-95% 점유 용량에서도 제대로 작동할 수 있습니다.
https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/