Linuxの応答性、メモリ、およびページングを飼いならす方法
オーバーフローに関する最初の質問=)... +100バウンティ。今まで本当に気にかけていたことは考えられませんでした。 Linuxデスクトップの応答性の状態、たとえばhttp://brainstorm.ubuntu.com/item/85/に本当にうんざりしている-空きRAMが少ない状況、またはディスクスループットが高い状況では、システムが遅くなります。クロール ; これはまともなパフォーマンスを必要とするアプリケーションにとって絶対にひどいものです。さらに、UIは完全に応答しません。たとえば、アプリケーションがリソースを占有している場合、オプションを押して強制終了することができますが、Linuxではデスクトップをalt-tabまたは切り替えたり、ctrl-alt-f1でさえ取得することはできませんターミナル-できます。1回の操作で約1〜2分かかります。 gkrellmを使用するので、展開の状況を確認できます。通常、メモリ使用率がかなり高くなるか、ディスクのスループットが劇的にジャンプします。 2.6GHzクアッドコアと4GBの800MHz DDR2 RAMを搭載したハードウェアは悪くありません(6GBが必要でしたが、ハードウェアの非互換性により、古いセットとの組み合わせはできませんでした)。必然的にRAMを増やすと、この問題はなくなるかもしれませんが、それが問題の核心だとは思いません。異なるディスクに2つのスワップパーティションもあります。 問題は3つあると感じています。 大量のメモリを消費する暴走プログラム-これらのプログラムには法律が定められていなければならず、 (たとえば、Chromeのタブは、それぞれ20〜50MBで、一部は数百MBを使用できます) (たとえば、update-dbやインデクサーのような他のプログラムは、実行するたびにシステムのクロールが遅くなるため、cronを無効にして削除する必要がありました。) カーネルまたはバス競合で何らかのひどいことが起こり、ディスクスループットの高い状況がシステム全体のクロールを遅くする(おそらく重要なプログラムをページアウトすることにより) カーネルは、メモリ、ページング、プロセッサ使用率などのリソースの観点からUIや重要なプログラムを優先していません。 賛成票: したがって、このようなプログラムがすべてなくなる解決策を探しています。特に、システムや他のプログラムが完全に影響を受けず、手動で何かを手動で殺すのに十分な長さでありながら、プロセスが比例して遅くなるようなソリューションを探しています。また、ウィンドウマネージャープロセス(およびUIの応答性に影響する可能性のあるもの)は、すべての状況で応答する必要があります。 特に/etc/security/limits.conf(man limits.conf)に興味をそそられますが、これはユーザーごとの制御を与えるだけであり、ファイル内のコメントされた例は説明やどこから始めるかという点でかなり不透明に見えます。私はlimits.confうまくいくことを望んでいますが、うまくいかなかったとしても、それが私の問題の適切な解決策でなかったとしても、私が達成しようとしているほどきめ細かくても驚かないでしょう。limits.confまた、limits.confが機能すると仮定して、プロセス名ごとが理想的です。この時点ですべての解決策を受け入れていますが、人々が提供するlimits.confを試して、それが機能するかどうかをテストして喜んでいます。 OS Xがこのような優れたUIの応答性を維持するためにどのように管理するかについての洞察を得ることが役立つ場合もあります。 既に/tmpフォルダとキャッシュフォルダを調整してオンにしていますがtmpfs、一般的にディスク使用率はほぼゼロです。 漠然とした関連トピック: メモリオーバーコミット 私はうまくいかないと思う答え: swapoff (これにより、メモリホグプログラムは殺人で逃げることができ、メモリが本当に悪い場合はシステムが永久にフリーズします。特定のプログラムをスワップしてターゲットにする前にOOM-killerを起動する調整を提案できる人に賛成票を投じます) echo ?? > /sys/.../swappiness (認識できる効果なし) nice (働いたことがない) ionice (違いに気付いたことはありません) selinux(プログラムの非互換性は悪夢のようです) リアルタイムlinux、つまりカーネルを中断することができます(カスタムカーネルのコンパイルと更新に対処したくない。リポジトリに移行した場合は問題ないかもしれない) *