特定のウェブサイトを閲覧するときにLinuxが数分間応答しないのはなぜですか?

特定のウェブサイトを閲覧するときにLinuxが数分間応答しないのはなぜですか?

私はLinux 4.15を使用していますが、RAMの使用量がピークに達したときにこれが何度も起こります。 OS全体が応答せずに停止し、役に立たなくなります。私が考えるのにこの機能がうまくいくと思われる唯一のことは、よく使われるディスク(基本システムパーティション)です。

この問題がOS固有であるか、ハードウェア固有であるか、構成固有であるかは不明です。

どんなアイデアがありますか?

ベストアンサー1

Linuxが応答しない原因は何ですか?

使用可能なRAMを過度に使用して多くの交換が発生した場合、この問題は間違いなく発生します。メカニカルHDDのランダムアクセスI / Oには読み取り/書き込みヘッドを移動する必要があり、これは毎秒約100の検索しか実行できないことに注意してください。

RAMを「あまりにも」オーバーコミットすると、Linuxはしばしばランチを完全に取ります。回転ディスクと8GBのRAMもあります。複数のソフトウェアを使用中にメモリリークが発生しました。つまり、メモリ使用量は時間の経過とともに増加し続け、絶対に減少しないため、これを制御する唯一の方法はソフトウェアを停止して再起動することです。この期間中の私の経験によれば、3GB以上のスワップを作成すると、10分以上の遅延が発生してもあまり驚くことはありません。

スワップ領域が3GBを超える場合、すべての場合にこの内容が表示されるわけではありません。理論は、核心の概念が次のとおりです。勝つ。一方、2つの異なるワークセット間で切り替えを試み、100 MB / sの速度で3 GBを入出力する必要がある場合、完全に最適化されたI / Oパターンを使用しても少なくとも60秒かかります。実際、I/O パターンは最適とは距離が遠いです。

このような問題を経験した後、スワップスペースを2GB(以前より数倍小さいサイズ)に再フォーマットしたため、システムがディープスワップを行うことができなくなりました。mkswapオプションのサイズパラメータが必要なので、パーティションのサイズを変更せずにこれを行うことができます。

おおよそのバランスは、メモリが不足してプロセスがシャットダウンすることと、システムが長時間停止して放棄して再起動することとの間にあります。 4GBのスワップパーティションが大きすぎるかどうかはわかりません。おそらく実行している作業によって異なります。ディスク変動が始まったら記録し、メモリ使用量を確認し、それに応じて対応することが重要です。

マルチプロセスアプリケーションのメモリ使用量を確認することは困難です。共有メモリを二重に計算せずに各プロセスのメモリ使用量を表示するには、およびを押してからsudo atop -RPSIZE列を表示します。 。を使用すると、すべてのFirefoxプロセスのPSSと完全なPSS行が表示されます。これはFirefoxまたはChromeベースのブラウザの合計メモリ使用量を測定する正しい方法です。 (ただし、個々のタブを表示するメモリ使用量を表示するブラウザ固有の機能もあります。)Mmsmemsmem -t -P firefox

おすすめ記事