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=5commit=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.