web-dev-qa-db-ja.com

スワップがいっぱいになるとUbuntuがロックする

Xfceと2 GB RAMを実行しているUbuntuシステムがあります。マルチタスクがいっぱいになり始めると、1GBのスワップファイルがあります。少しでも無料のスワップがある場合、問題はありませんが、スワップがいっぱいになると、システムがロックします。マウスでさえ移動しませんが、[Alt] + [SysRq] + [K]を使用してxfceを殺すことができます。必要に応じて、システムの詳細を提供します。前もって感謝します。

3
hexafraction

はい、それはメモリ/スワップを使い果たしたときに何が起こるかです。一方、Ubuntuはランダムプロセスを強制終了し、クラッシュしないように必死になり始めると予想していました。これはシステムのどこかにある構成ですが、メモリがなくなると、ファイルシステムが実行を続けるのは安全ではありません。そのため、最も健全なことは、システムを停止し、(それ以上の)データを破壊しないようにすることです。

どのアプリケーションがこれを引き起こすのか、なぜメモリを使い果たすのかを理解する必要があります。 topまたはhtopがあなたを助けます。 htopはおそらくSudo apt-get install htopでインストールする必要があります。 htopの利点は、並べ替える列ヘッダーを簡単にポイントしてクリックできることです。

プログラムを削除できない場合、RAMを追加するのが最善の策ですが、費用がかかります。 2番目の最善策は、スワップ領域を増やすことですが、パフォーマンスが低下します。

一時的な回避策として(次回の再起動まで)、これが機能するかどうかをテストできます。

  • 空き容量の多いファイルシステムを見つけます。ほとんどのデフォルトのインストールでは、/tmpdf -h /tmpを実行します。少なくとも数GBの空き容量が必要です。
  • 大きなファイルを作成します(例:1M×2000 = 2GB)dd if=/dev/zero of=/tmp/extra.swap bs=1M count=2000
  • スワップスペースとしてファイルを初期化するmkswap /tmp/extra.swap
  • ファイルをスワップスペースとして使用するSudo swapon /tmp/extra.swap

これがあなたのために働いているなら、あなたはこれからより決定的な解決策を作ることを検討しなければなりません。

6
jippie