Nottime으로 Ext4를 튜닝 할 가치가 있습니까?


77

이전 버전의 Ubuntu (Ext3 파일 시스템 사용)에서는에 noatime매개 변수를 설정하여 눈에 띄는 결과로 더 나은 성능을 위해이를 조정했습니다 /etc/fstab.

여전히 우분투에서 기본으로 사용되는 Ext4 파일 시스템으로 그렇게 할 가치가 있습니까? 그렇다면 절차가 어떤 식으로 변경 되었습니까?

이 튜닝의 예는 여기 에서 찾을 수 있습니다.

답변:


66

Ubuntu 10.04에서는 relatime에서 재정의되지 않는 한 기본 마운트 옵션의 일부입니다 /etc/fstab. 이전 몇 릴리스는에 relatime명시 적으로있었습니다 /etc/fstab. 기존 메일 알리미에 문제를 일으키지 않고 relatime와 동일한 속도 (및 플래시 쓰기주기 절약) 이점을 제공 noatime합니다.

당신이 인용하는 기사는 추천 data=writeback합니다. 우분투는 기본적으로 data=ordered입니다. Ubuntu의 설정은 디스크로드가 심한 경우 속도가 느리지 만 충돌 또는 정전시 데이터 손실 위험이 크게 줄어 듭니다. 따라서 우분투 기본값에서 변경하지 않는 것이 좋습니다.

로 변경하면 충돌시 데이터가 손실되는 시간 commit=5이 commit=100늘어나 대부분의 환경에서 거의 이점이 없습니다.

요약 : 설정을 그대로두고 이유를 선택했습니다.


ADDED : 마운트 옵션 외에 다른 점이 있습니다. 에서 ext3로 전환 하는 ext4것은 종종 눈에 띄는 개선입니다. 다음은 랩탑 사용자를위한 추가 정보입니다.

  • SSD가 느린 경우 SU에서이 스레드를 확인하십시오 . 중요한 팁을 사용할 수 있습니다 tmpfs위한 /tmp브라우저 캐시 (그리고 아마도 역사)에 대한.

  • 하드 디스크가 있고 장시간 회전을 멈추려면 noflushd 를 설치하십시오. 그러면 RAM이 가득 찰 때까지 모든 쓰기를 지연시켜 디스크가 다운 될 수 있습니다. (물론 읽기로 인해 디스크가 회전 할 수 있습니다. 디스크가 회전하기 cat /files/I/m/likely/to/need >/dev/null전에 실행 습관을 갖기를 원할 것 입니다.) 플러시가 효과적이지 않게하려면 모든 스왑을 끄고 다음과 같은 방법으로 파일 시스템을 마운트하십시오. commit=3600.

    효과적으로 플러시를 사용하면 데이터를 오랫동안 디스크에 쓰지 않은 채로 둘 수 있습니다. 디스크에서 소음이나 열이 발생하지 않는 이점에 대비하여 위험을 감수해야합니다. 그 위험에 익숙하지 않으면 플러시를 사용하지 마십시오.


나는 comit=100당신이 언급 한 것처럼 , 내가 동의하지 않는 튜토리얼의 단계 중 일부와 같이 조정의 위험을 이해합니다 . 그러나 랩톱과 (거의) 정기적 인 백업을 사용하기 때문에 성능을 향상시키기 위해 약간의 위험을 감수 할 의향이 있습니다.
— Decio Lira

2
@Decio : noatimevs atime는 눈에 띄는 차이를 만들 수 있지만 noatimevs relatime는 놀랍습니다 . 내 답변에 랩톱 관련 팁 몇 가지를 추가했습니다. 이 팁에서 눈에 띄는 개선 사항을 개인적으로 관찰했습니다. Noflushd는 그것을 사용할 때 기꺼이 감수 할 위험이 있습니다.
— Gilles

그래, 난 단지 noatime과 relatime의 차이점에 대해 인터넷 검색을하고 있었고, 당신은 맞습니다. relatime (현재 우분투에서 기본값 임)은 atime과 noatime 사이의 좋은 절충안입니다.
— Decio Lira

읽은 내용 data=writeback은 파일 데이터와 메타 데이터를 무작위 순서 로 ordered작성합니다 (데이터 뒤에 항상 메타 데이터를 쓰는 것과는 대조적으로 ) . 즉, 정전시 0 바이트가 실제로 작성된 파일 α 바이트 길이를 찾을 수 있습니다. 음… 그러나 이것은 절대적으로 당연합니다! 나는 항상 파일 시스템이 먼저 파일 크기를 늘리고 데이터를 쓴다고 생각했습니다. 역순으로 진행될 수 있으려면 RAM에 캐싱을 추가하기 위해이 패턴을 변환해야합니다. writeback지연 시간을 개선하는 데 도움이 될 수 있다면 왜 사용하지 않는지 잘 모르겠습니다 .
— Hi-Angel

17

예, noatime우분투 12.10 부터 사용하는 것이 여전히 타당 할 수 있습니다.

relatime기본 마운트 옵션입니다. 그리고 relatime보다 훨씬 낫다 atime. 전자는 쓰기 후 첫 번째 읽기에 대한 쓰기가 필요하고 후자는 모든 읽기에 대한 쓰기가 필요합니다. 그러나 noatime각 읽기에는 쓰기가 없습니다.

이것은 기본적으로 relatime마운트 를 위해 디스크에 쓰는 횟수가 마운트가 noatime다른 것을 기준으로 두 배에 가깝다 는 것을 의미합니다 . 플래시 메모리 장치의 파티션은 심각한 문제입니다.

리눅스 커널 커뮤니티의 자세한 논의는 http://kerneltrap.org/node/14148에 있습니다.


3
2의 요소는 일반적으로 올바르지 않습니다. 이론적으로이 요소는 1 (무제한 자주 사용되는 파일)과 2 (무한한 거의 사용되지 않는 파일) 사이입니다. 이는 거의 2에 가까운 요인이 평균적으로 유의미하지 않기 때문에 실제 요인이 기본적으로 1임을 의미합니다.
— Patrick Häcker

1은 쓰기 전용 파일입니다. 2는 다른 모든 사람들을위한 것입니다. 쓰기 전용 파일에는 문제가 없지만 때때로 나타날 수 있습니다. 따라서 내 원래 견적은 관련성이 있어야합니다.
— yanychar

@yanychar : 설명 감사합니다 relatime"단점과 kerneltrap 토론을 공유하지만, 말을 쓰기 전용 파일에 아무 소용이 없다는 "말도 : 모두 /usr하고 /lib있는 읽기 전용 파일. 사실, 나무, 산세의 대부분 /home과는 /var읽기 전용입니다. 파일 /etc도 거의 변경되지 않습니다.
— MestreLion

2
@MestreLion : 우분투는 수많은 패키지를 설치합니다. 패키지는 때때로 업그레이드됩니다. 패키지 설치 및 업그레이드 시간 사이에 파일을 읽지 않은 경우 파일은 "쓰기 전용"이었습니다. 파일에 relatime비해 추가 쓰기가 없습니다 noatime. 나머지는 파일을 읽을 때 추가 쓰기가 있습니다.
— yanychar
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.