8 GB のDebian(Buster)ラップトップを持っています RAMと16GBのスワップ。非常に長時間実行されているタスクを実行しています。これは、私のラップトップが解約している間、過去6日間オンのままになっていることを意味します。
これを行っている間、私は定期的に自分のラップトップをラップトップとして使用する必要があります。これは問題にはならないはずです。長時間実行されるタスクはI/Oバウンドであり、USBハードディスク上のものを処理し、RAM(<200 MB)またはCPU(<4%)をあまり消費しません。
問題は 数時間後にラップトップに戻ると、非常に遅くなり、通常に戻るまでに30分かかる場合があります。これは非常に悪いため、クラッシュモニターは、それぞれのアプリケーション(特にブラウザーウィンドウ)がフリーズしたことを示すフラグを立て、誤ってクラッシュし始めます。
システムモニターを見ると、使用されている2.5GBの約半分がスワップにシフトされています。スワップスペース(swapoff /dev/sda8
)を削除することで、これが問題であることを確認しました )。スワップスペースなしで放置すると、24時間後でもほぼ瞬時に復活します。スワップを使用すると、最初の5分間は、実質的に6時間しか残されていません。メモリ使用量が3GBを超えないことを確認しました 留守中も。
スワップピネス(ウィキペディアも参照)を10
の値に減らしてみました および 、しかし問題はまだ解決しません。 1日の非アクティブ状態の後、カーネルはGUI全体が不要になったと判断し、RAMからワイプします(ディスクにスワップします)。長時間実行されるタスクは、広大なファイルツリーを読み取り、すべてのファイルを読み取ることです。したがって、カーネルがキャッシュが役立つと考えることに混乱している可能性があります。ただし、ファイル名が最大10億の2 TB USB HDを1回スイープした場合、追加のGBRAMはパフォーマンスにあまり役立ちません。これは、ハードドライブが遅い安価なラップトップです。データをRAMに十分な速度でロードして戻すことはできません。
緊急時にのみスワップスペースを使用するようにLinuxに指示するにはどうすればよいですか? スワップなしで走りたくない。予期しないことが発生し、OSが突然追加の数GBを必要とする場合、タスクが強制終了されることを望まないので、スワップの使用を開始することをお勧めします。ただし、現時点では、スワップを有効のままにすると、必要なときにラップトップを使用できなくなります。
「緊急事態」の正確な定義は議論の余地があるかもしれません。しかし、私が何を意味するのかを明確にするために、緊急事態とは、プロセスを交換または強制終了する以外のオプションがないままシステムが放置されることです。
緊急事態とは何ですか? – 本当に質問する必要がありますか?…燃えている建物に自分がいないことを願っています!
この質問で緊急事態を構成する可能性のあるすべてを定義することはできません。ただし、たとえば、カーネルがメモリにプッシュされてOOM Killerを使用してプロセスを強制終了し始めた場合、緊急事態が発生する可能性があります。カーネルがスワップを使用してパフォーマンスを向上させることができると考えた場合、緊急事態は発生しません。
関連:Ubuntu – Linuxで使用されているSMB接続と方言を確認する方法は?最終編集: オペレーティングシステムレベルで私が求めていたものを正確に実行する回答を受け入れました。将来の読者は、アプリケーションレベルのソリューションを提供する回答にも注意する必要があります。
承認された回答:
最近、このような大規模なスワップを行うことは、しばしば悪い考えです。 OSが数GBのメモリを交換するまでに、システムはすでにクロールして死んでいた(あなたが見たもののように)
zram
を使用することをお勧めします 小さなバックアップスワップパーティションを使用 。 ChromeOS、Android、さまざまなLinuxディストリビューション(Lubuntu、Fedora)などの多くのOSは、特にRAMの少ないシステムで、デフォルトでzramを何年も有効にしてきました。 はるかに高速 HDDを交換するよりも、この場合のシステムの応答性をはっきりと感じることができます。 SSDの場合はそれほどではありませんが、ここでのベンチマーク結果によると、デフォルトのlzoアルゴリズムを使用しても高速に見えます。 lz4に変更すると、圧縮率を少し下げてパフォーマンスをさらに向上させることができます。公式ベンチマークに基づくと、デコード速度はlzoの約5倍です
実際、Windows 10とmacOSも、デフォルトで同様のページファイル圧縮技術を使用しています
zswap
もあります 使ったことがないけど。おそらく試してみる価値があり、どちらがユースケースに適しているかを比較してください
その後、別の提案は、これらのIOバウンドプロセスの優先度を下げることです。 また、システムの負荷が高い場合でもすぐにコマンドを実行できるように、端末をより高い優先度で実行したままにしておくこともできます。
さらに読む
- Arch Linux –パフォーマンスの向上–Zramまたはzswap
- ZSwapを有効にしてパフォーマンスを向上させる
- zRAMを有効にして、メモリ処理を改善し、スワッピングを減らします
- UbuntuでRAMが不足していませんか? ZRAMを有効にする
- ZRAMとZSWAPの違い
- zram vs zswap vs zcache Ultimateガイド:いつどちらを使用するか
- Linux、SSD、スワップ
- https://wiki.debian.org/ZRam
- https://www.kernel.org/doc/Documentation/blockdev/zram.txt
- https://wiki.gentoo.org/wiki/Zram