fstabで「コミット」を増やすことの利点/欠点


14

私は、過去に多くの無名のシステムの最適化を行っているが、私はそれらのほとんどを処分した後にpowertop私は私のUSBポートを設定する必要が私に言った自動サスペンド、私はそれ以上のメリットが実現した後も、永遠の眠りにそれらを余儀なくされた、とswappinessをを

しかし、今日、見ながら、// homeの/etc/fstabオプションcommit=60を設定したことに気付きました。これはラップトップ向けの最適化であり、ディスクへの書き込み量を減らしてバッテリーを節約したことを覚えています。しかし、その後、これがデータ損失の原因になるのではないかと心配するようになりました(バッテリーが切断され、起動時にいくつかの孤立したiノードについて通知されることがあります)。fsck

このオプションの説明を探しているときに、次の説明に行きました(2番目の説明は以前の理解と矛盾しているようです)。

$ 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は書き込みを終了してから、メニューを表示できるようにディスクからすべてのデータを取得する必要があったためです。

コミットは実際に何をしますか?応答性や省電力など、それを増やす利点は本当にありますか?実際にデータが失われる可能性がありますか?

回答:


12

コミットは実際に何をしますか?

最高の説明の1 つがここでallquixoticによって与えられ思います。

応答性や省電力など、それを増やす利点は本当にありますか?実際にデータが失われる可能性がありますか?

あたりとしてext4の公式ドキュメント

ext4は、「nrsec」秒ごとにすべてのデータとメタデータを同期するように指示できます。デフォルト値は5秒です。これは、電源を失うと、最新の5秒間の作業を失う ことを意味します (ただし、ジャーナリングのおかげでファイルシステムは破損しません)。このデフォルト値(または任意の低い値)はパフォーマンス低下させますが、データの安全性には適しています。0に設定すると、デフォルト(5秒)のままにするのと同じ効果があります。設定する 非常に大きな値にと、パフォーマンスが向上します

commit値を増やすと、ソフトウェアがfsync()を呼び出してデータをディスクに書き込むことができるため、ほとんどの時間は発生ませんが、最新のN秒の作業(N =コミット間隔)を失う可能性がありますコミット設定。「少なくともこの頻度ですべてをディスクに書き込む」と見なすことができます1
一方、書き込みが少なく(ssdユーザーの間で非常に人気があります)、パフォーマンスが向上することを意味します(複数の書き込みが1つの大きな書き込みに結合され、コミット時間枠内の以前の書き込みの更新がキャンセルされます)。このページ
によると、節電に関しては、最近の値を増やしても節電されないことがわかります。commit


1
エクステントと遅延割り当てにより、HDDシークを最適化できるため、ある程度の節電が行われると思います。しかし、おそらく重要ではありません。
ペテル-モニカの復活
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.