過去数日間、奇妙な質問が私を悩ませました。私のFedoraはいつもより多くのRAMを占めています。アイドル状態の場合の一般的なRAM使用量は約2 GBですが、最大5.2 GBを超えるため、ほとんどのDEクラッシュが発生します。実行中のプロセスのリストを確認してみると、RAMを300MB以上使用するプロセスは一つもなく、これをすべて合わせてもそのプロセスの総RAM使用量は5GBにはなりませんでした。フォーラムで編集内容に関連する回答が見つかりません。誰でも修正を提案していただきありがとうございます。ありがとう ディストリビューション: Fedora 36 カーネル: 5.18.11-200.fc36.x86_64 DE: GNOME 42.3.1
答え1
各プロセスのRAM容量を決定するのは難しいかもしれません。さまざまなツールに表示される数字は、通常、メモリ量を表します。マッピングされたプロセスのアドレス空間を入力します。ただし、一部のメモリは複数のプロセスにマッピングされる可能性があるため、使用量を合計するときに共有部分を追加しないでください。一部のメモリは複数のプロセスで共有できます。一部のメモリはプロセスに2回マッピングできます。
したがって、プロセス固有の「メモリ使用量」は、各プロセスを個別に考慮する場合にのみ役立ちますが、これを追加しないでください。どのくらいのメモリが共有され、どれだけ深く共有されているかわかりません。これは間違ったこれらの値を合わせると、結果はコンピュータの実際の内容と一致しない過大評価された画像になります。一方、プロセス固有のメモリのみを合計したい場合は、膨大な過小評価に陥ります。だから絶対合算しないでください。システムによって報告された「使用可能な」メモリ値に依存します。
別の広く知られている誤解は、Linuxが「空き」メモリが技術的に心配するものではないと信じているということです。見なければならないこと書くことができるメモリ;技術的には、「アイドル状態+バッファ+キャッシュ」です。バッファとキャッシュは、アプリケーションが要求されるとすぐに解放されます。これは「使用されていないメモリなので、Linuxはそれを使ってコンピュータをスピードアップします。そうしないと、より多くのメモリはお金の無駄です。誰かがそれを必要とします」。ここの説明も参照してください。https://www.linuxatemyram.com/。
メモリ不足の競合は、カーネルのメモリ不足キラー(OOM-killer)によって引き起こされます。犯人なら必ず自分の行動と情況をdmesg
記録するだろう。簡単に言えば、メモリが足りなくなったら、「最悪の」パットプロセスを選択し、それを終了してメモリを解放します。メモリオーバーフローが疑われる場合は必ず確認してください。 OOM キラージョブが記録されない場合、競合が発生します。いいえメモリ使用量が高いからです。