プリロードを使用することの欠点?デフォルトで含まれないのはなぜですか?


110

使用の欠点は何preloadですか?マイナス面がない場合はpreload、デフォルトで有効になるので、いくつかあると思います。

さて、もう少しRAMが必要ですが、ほとんどの人はUbuntuが必要とするよりもはるかに多くのRAMを持っていpreloadます。


6
役に立つ質問をありがとう。私は知りたい、それは神話ですか?
サイードザリンファム

1
CPUの使用とバッテリーは、いくつかの欠点になる可能性があります... bugs.launchpad.net/ubuntu/+source/preload/+bug/481861
Mateo

1
いい質問です。基本OS(galaはUbuntuの統一よりもはるかに高速であるため、ラップトップで実行しています)など、一部のディストリビューションにはプリロードがロードされています。

1
単なる推測:デフォルトでこれを含めない理由の1つは、すべてのシステムで使用できないという事実です(そのハードウェア要件は標準要件と異なる場合があります)。
-don.joey

2
brainstorm.ubuntu.com/idea/1122の投稿は、「root権限を持つデーモンとして実行される」ことを示唆しています。これはセキュリティ上の問題かもしれませんが、このブレインストームには、デフォルトのインクルードが必要ですBrainstorm.ubuntu.com/idea/14092
Mateo

回答:


65

簡単に言えば、プリロードは万人向けではありません。アプリケーションやライブラリを頻繁に開くと便利です。アプリケーションやライブラリをときどきロードすると有害です。実際の使用法から2つの例を使用します(そして、プリロードを使用します)。

まず、Google Chrome。現在、ブラウザは起動ごとに1回だけ、おそらく2回開かれます(私にとっては、私はWeb開発者です)。Chromeとその関連ライブラリは常に使用しているため、メモリに残ります。すべてのクロームウィンドウを閉じても、それはまだバックグラウンドで動作しています。したがって、Chromeのプリロードコピーを保持する専用のRAMはすべて無駄です。それは決して(またはめったに)アンロードされません。平均的なユーザーにとって、これは多くのアプリケーションに当てはまります。Officeユーザーはほとんどの場合、メールアプリを開いています。そのため、起動時間のわずかな節約は、メールアプリを1日に1回だけ開き、開いたままにしておくため、完全に無駄になります。

2番目の例は熊手です。テストを信じるルビー開発者として、私はrakeを実行します。rakeが実行され、数秒から数分実行されてから終了します。プリロードは、事前にrakeとその必要なライブラリ(非常に広範囲に及ぶ可能性があります)をロードするため、毎日の作業をスピードアップするのに役立ちます。そのため、rakeの実行には多くの開始点と停止点があります。数時間にわたって400回または500回のレーキの起動を高速化するために使用される追加のラムは、それだけの価値があります。

そのため、デフォルトで有効になっていない理由は、実際にパフォーマンスを改善する能力は、主にシステムの使用方法に基づいているためです。一部の人々にとっては否定的であり、他の人々にとっては肯定的です。

最後に、プリロードをオンにすると、使用していない場合でもRAMが消費されます。したがって、アプリケーションを頻繁に起動しない場合、そのRAMを他のタイプのキャッシュに使用できないようにすることで、実際にシステム全体をわずかに遅くすることができます。32ギガバイトのRAMを持っている場合でも、Linuxはデータをキャッシュして対話を高速化するためにできるだけ多くのRAMを使用しようとします。プリロードを使用することで、その空きメモリをいくらか減らします。たとえほんのわずかであっても、クロームを1回起動して保存した2秒は、実行中の月に60秒かかる可能性があります。


1
また、プリロードを使用すると、起動が遅くなります。より多くのものがプリロードされると、システムを稼働させるのに時間がかかります。今、あなたがやりたいことは、起動して、メモに文章を書き、その直後にシャットダウンするだけだと想像してください。あなたのシステムはそのタスクに関係のないものをプリロードしているので、あなたはメモを書くことさえできるようになるのを待っているでしょう。したがって、ある意味では、プリロード(一般的に)は両刃の剣です。
F-3000

1
プリロードは実際にはそのようには機能しません...これは、「あなたがそこにいる間にキャッシュにロードしてください、すぐに必要になります」などのカーネルヒントを与え、カーネルはそうします。したがって、実際にあなたが説明したようにRAMを使用することはありません。次の2つのことが起こる可能性があります。キャッシュにロードすると、すぐに使用するアプリケーションが押し出されます。これにより、アプリケーションに戻ったときに、短時間のフリーズとハードディスクのアクティビティが発生します。
hurikhan77

1
2番目:プリロードが使用パターンを間違っていると予測した場合(アプリケーションを常にロードしている場合はかなりそうかもしれません)、後でRAMから再びプッシュされるものをキャッシュし、それ自体がキャッシュをRAMからプッシュしましたより良い使用。しかし、最終的にはvfsキャッシュと同様にRAMを「消費」するだけです。したがって、実際には破棄可能なRAMであり、ある意味で「空きRAM」です。ただし、作成時に「通常のキャッシュ」と競合します。
hurikhan77

1
上記のcoteyrと@ hurikhan77のリコールを考えると、Preloadは、古い低RAM(起動時に最大800 MBの空き容量)のデスクトップボックスで認識速度を改善するのに役立つ反効果的な方法です。このような再生ボックスでプリロードを有効にすると、カーネル仮想メモリマネージャーはほとんど改善することなく多くの作業を行うことができますか?
tuk0z

2
@lliseilその800 MBが実際に割り当てられていないRAMである場合、プリロードが役立つかもしれません...しかし、それはおそらくより多くのRAMでより良く機能します。そして、次のことを意味します。プリロードは、後で起動する可能性のあるメモリを大量に消費するアプリケーションと競合します。ここでswappinessを下げる必要がある場合があります。これにより、多すぎるRAMを使用するとすぐにプリロードが役に立たなくなる可能性があります。
hurikhan77

21

2012年9月5日にバウンティサイードザリンファムが尋ねた質問:

こんにちは、私は知りたいです、それは神話ですか?[プリロード]は本当に私のパフォーマンスを向上させますか?それを使用することの欠点は何ですか?この仕様のラップトップ(Core i5 CPU、4GB RAM、128GB SSD Hard)があります。どうもありがとうございます。

  • SSDをお持ちの場合 、プリロードの必要はありません
    • これは、SSDがハードディスクよりもはるかに高速のランダムアクセス時間を提供するためです。そのため、メモリのバイナリ/依存関係を「プリロード」するのは無駄です。IMO
    • 基本的な欠点は、プリロードが具体的なメリットを提供せずに追加メモリを「使用」することです。

20
プリロードを使用することには欠点があるので、これはOPの質問をカバーしていませんか?第二に、あなたは意見を形成し、「プリロード」に関する声明を発表し、その後、方程式に「SSD」を導入しました。どの時点で実際に質問に答えましたか?
リングテール

12

Preloadは、システムのバックグラウンドで実行される「適応型readaheadデーモン」であり、最も頻繁に使用するプログラムを監視し、アプリケーションのロード時間を短縮するためにそれらをキャッシュします。プリロードを使用すると、未使用のRAMを適切に機能させ、デスクトップシステムの全体的なパフォーマンスを向上させることができます。

すぐにパフォーマンスが劇的に変化することを期待しないでください。また、アプリケーションを繰り返し開いたり閉じたりするだけの場合、コンピューターはそれらのファイルをキャッシュに保存します(これは「ウォーム」ロードと呼ばれます)。そこで速度の違いは見られません。ただし、たとえばプログラムを断続的に使用すると、速度が向上します。これらのプログラムは、プリロードなしよりも速く起動します。

プリロードは、アプリケーションの起動時間を大幅に改善できます。最近のほとんどのマシンには十分なメモリがあるため、PreloadはこのRAMを有効に活用します。1

言われたところで、それはプリロードが素晴らしいユーティリティであるようです、そして、それはそうかもしれません。

OSがプリロードされていないのは、ユーザーがそこで何をしているのかを正確に知り、それを使用するのに十分な経験があり、システムに十分なRAMが必要だからだと思います。

より技術的な面では、プリロードはデータをハードディスクからRAMに移動することで機能します。これにより、ほとんどのハードディスクが使用されない場合はスリープモードになり、必要に応じてスピンアップする必要があります。したがって、ドライブを回転させると、ロード/アンロードサイクルカウントが発生し、パワーオンタイムカウントが増加し、ドライブの寿命が短くなります。

プリロード、アプリケーションレベルの予測で動作するマルコフベースの適応プリフェッチスキームを設計および実装しました。さらに、プリロードはユーザー空間に実装されており、アプリケーションの実行時環境を変更することはありません。私たちが知る限り、これはこのレベルでファイルシステムのプリフェッチを試す最初の作業です。

私たちの実験結果は、コールドキャッシュと比較したアプリケーションの起動時間の有望な改善と、単純な予測アルゴリズムと比較した適切なヒット率を示しています。

ただし、ユーザー空間にいることは、プリロードを起動時の問題に対する競争力のあるソリューションにする上で大きな障害となります。特に、アプリケーションのI / O要求に関する完全な情報がなく、ページキャッシュサブシステムとの強力な通信チャネルがないため、特にメモリ不足の状況では、プリロードの効果が大幅に低下します。

プリロード設計に伴うもう1つの固有の問題は、アプリケーションの起動の比較的緩やかな相関関係によって引き起こされる高い分散と低い予測の信頼性です。アプリケーションの相関関係を追跡するモデルを正常に構築しますが、アプリケーションの起動はコンピューターが動作するタイムスケールと比較して非常にまれなイベントであるという事実、アプリケーションレベルのプリフェッチスキームは、実質的に無限の期間にわたって巨大なプリフェッチメモリを消費すると非難されています。このメモリを使用して、短期的なキャッシュ動作を改善できます。

最後に、カーネルのキャッシュサブシステムに統合されたプリフェッチャーにフォールバックすることなく、ブート時間、ログイン時間、およびアプリケーションの起動時間を改善する方法について、システム開発者向けの一連の推奨事項を考え出します。もちろん、カーネル内のファイルベースのプリフェッチャーはその上で改善できます。2

1出典: techthrob

2出典: Preload-Behdad Esfahbodによる適応型プリフェッチデーモン-理学修士の要件に準拠して提出された論文-トロント大学コンピュータサイエンス学部-トロント大学Copyright(c)2006 by Behdad Esfahbod。


1
答えてくれてありがとう、ミッチ。これらも私の考えでした。特にラップトップでは、プリロードが問題になる場合があります。しかし、それでも、Ubuntuチームがプリロードの出荷を拒否した理由について公式な情報源/議論を見つけたいと思っています。
グルタニメート

9

欠点?なし!

ユーザーがアプリケーションを開くときのパフォーマンスが向上しました。「先読み」と同様にシステムで何年も使用しており、問題はありません。プリロードのバグページにも欠点はありません。

プリロードは、ユーザーが実行するアプリケーションを監視し、このデータを分析することにより、ユーザーが実行するアプリケーションを予測し、それらのバイナリとその依存関係をメモリにフェッチして、起動時間を短縮します。

起動時間はわずかに増加しますが、アプリケーションのフェッチ時間の減少はこの小さな問題をはるかに上回ります。

記事を見る

FirefoxGimpなどの一般的なアプリを常に使用している場合、ロード時間が大幅に改善されていることに気付くでしょう。プリロードは、バックグラウンドで個別に実行されるデーモンであり、とにかくデスクトップを中断しません。Ubuntuユーザーは、次を使用してプリロードをインストールできます。

sudo apt-get install preload

結果:

通常開始とプリロード開始の違いを示すグラフ

ref


3
私はそれが何を投与するかを知っており、いくつかの「プリロードHowTo」を読みましたが、欠点については何も読むことができませんでした。欠点がない場合は、デフォルトで多くのLinuxディストリビューションに同梱されますが、私の知る限りではそうではありません。
-Paradiesstaub

1
パフォーマンスは低下しません向上します。それがプリロードを使用する全体のポイントです。たぶんそれは単なるタイプミスです。
マルコ

2
あなたの図は見栄えが良いですが、重要な情報が欠けています。これは、営業担当者のPowerPointプレゼンテーションに100%適合しますが、「悪い統計」の例です。これらの数字はどこから来たのですか?それらの記録にはどのプロトコルが使用されましたか?単一のスナップショットですか?サンプルには何台のマシンが関与しましたか?ハードウェアは何でしたか?プリロードプログラムはどのように構成されましたか?

1
@Ringtail:そのとおりです。あなたはその図の作成者ではありません。しかし、記事内のすべてのリンクをクリックすると、プログラムの作成者が書いた記事をホストしているはずのTechthrob.comページが表示されます。しかし、そのページはなくなっています。したがって、ソースのみがあります:著者の論文。

2
GNOMEターミナルが...起動に2秒以上を要する場合は、1つは、ハードウェアをアップグレードする必要があります
ピーターと狼
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.