예전에 무명의 시스템 최적화를 많이 했는데 powertop
USB 포트를 로 설정해야 한다는 말을 듣고 나서자동 정지, 더 높은 레벨의 이점을 깨달은 후에도 영원히 잠들도록 강요합니다.교환성.
/etc/fstab
그런데 오늘 검색하다가 옵션을 설정해둔 걸 발견했어요commit=60
/그리고/집. 나는 이것이 노트북이 디스크에 더 적게 기록하여 배터리를 절약하도록 최적화했다는 것을 기억합니다. 하지만 이로 인해 데이터가 손실될 수 있다는 걱정이 들기 시작했습니다(때때로 배터리 연결이 끊어진 다음 fsck
시작 시 일부 고아 inode에 대해 알려줍니다).
이 옵션에 대한 설명을 찾는 동안 다음과 같은 설명을 얻었습니다(두 번째 설명은 이전에 이해했던 것과 모순되는 것 같습니다).
$ man mount | awk '/commit=/,/^$/'
commit=nrsec
Sync all data and metadata every nrsec seconds. The default value is 5 seconds.
Zero means default.
https://forums.gentoo.org/viewtopic-p-4088752.html
commit=60은 읽기 우선순위에서 "즉시"(기본값 5초) 쓰기를 중지하고 몇 초 후에 쓰기를 캐시합니다. 이는 읽기와 쓰기가 많이 혼합되어 있고 사용자가 읽기를 계속하기 전에 쓰기가 완료될 때까지 기다리지 않고 프로세서가 바쁜 상태를 유지할 수 있도록 읽기가 우선순위를 갖기를 원하는 상황에서 유용합니다.
제가 본 실제 사례 중 하나는 아무 이유 없이 Gnome 드롭다운이 나타날 때까지 몇 초를 기다리는 것이었습니다. 그 이유는 디스크가 쓰기 작업 중이기 때문에 CPU는 쓰기가 완료될 때까지 기다려야 디스크에서 모든 데이터를 가져올 수 있기 때문에 메뉴를 표시할 수 있기 때문입니다.
무엇인가요범죄정말? 이를 증가시키면 실질적인 이점이 있습니까(예: 응답성 및 에너지 절약)? 실제로 데이터 손실이 발생합니까?
답변1
무엇인가요범죄정말?
나는 가장 좋은 설명 중 하나를 제공한다고 생각합니다여기통과모든 quixotic.
이를 증가시키면 실질적인 이점이 있습니까(예: 응답성 및 에너지 절약)? 실제로 데이터 손실이 발생합니까?
~에 따르면ext4 공식 문서:
Ext4는 "nrsec"초마다 모든 데이터와 메타데이터를 동기화하도록 지시받을 수 있습니다. 기본값은 5초입니다. 이것은 의미한다당신이지면 당신의 힘은 마지막 5초 동안의 작업을 잃게 됩니다. (단, 저널링 기능으로 인해 파일 시스템이 손상되지는 않습니다.) 이것기본값(또는 낮은 값)은 손상됩니다. 성능은 좋지만 데이터 보안에는 좋음. 0으로 설정하면 기본값(5초)을 그대로 두는 것과 동일한 효과가 있습니다.설정해 값이 매우 크면 성능이 향상됩니다..
값을 늘리면 commit
마지막 N초 작업(여기서 N = 커밋 간격)이 손실될 수 있지만 대부분의 경우에는 이런 일이 발생하지 않습니다.소프트웨어는 여전히 fsync()를 호출하고 해당 데이터를 디스크에 쓸 수 있으므로 커밋 설정을 재정의합니다. "적어도 자주 모든 것을 디스크에 쓰는 것"이라고 생각할 수 있습니다..1
반면에 이는 쓰기 횟수가 적고(SSD 사용자들 사이에서 인기가 높음) 성능이 향상됨(커밋 기간 내에 여러 쓰기가 더 큰 쓰기로 결합됨)을 의미합니다. 이전에 작성된 업데이트가 취소되었습니다.
전기 절약에 관해서는이 페이지commit
이제는 가치를 더하는 것이 전기를 절약하지 않는다는 것이 밝혀졌습니다 .