web-dev-qa-db-ja.com

Prelinkを使用する意味はもうありますか?

長年にわたり、さまざまなLinuxボックスを使用して、アプリケーションのロード時間を加速するために prelink を儀式的に使用することに慣れてきました。

ただし、パッケージ、そのすべての依存関係、およびその依存関係を再事前リンクする必要があるため、パッケージを再インストールするたびに、プリリンクを実行する利点は打ち消されます。

この事前リンクは複数の問題を引き起こす可能性があり、1つはバイナリMD5の無効化です。これは、MD5とアップストリームリビジョンを比較したり、MD5を使用してバイナリが変更されたかどうかを判断したり、パッケージの削除時にクリーンアップしたくない場合に問題となります。 。

最近、コンピューターの速度が大幅に向上し、プリリンクのメリットが顕著になりました。

プリリンクの使用はまだ合理的な概念ですか、それともさりげなく破棄され、過去の時代のものとして残されますか?

11
Kent Fredric

LWN.netに登録していない限り、2009年7月23日まで読むことができませんが、 http://lwn.net/Articles/341244/ が役立つかもしれません。

4
David Pashley

プリリンクは、学校やネットカフェなどで使用されているLTSPサーバーなどのマルチユーザーデスクトップサーバーで間違いなく便利です。プリリンクはアプリケーションのロードを高速化するだけでなく、ユーザー間の競合によるRAM使用率とディスクスラッシングを改善し、サーバー上でより多くの同時ユーザーを許可します。

1
SMP

勝手に捨てるべきだとは言いませんが、その使い方はもう少し考えないといけないと言っています。

頻繁に更新される最新のハイエンドマシンでは、プリリンクは有効な最適化ではない可能性があります。ただし、使用する価値のあるケースはまだいくつかあります。たとえば、古いマシンやローエンドのマシン、またはかなり静的で、頻繁な変更や更新が発生しないマシンです。繰り返し実行されるプログラムの率が高い場合にも価値があります(プログラムを高速で連続して実行するか、並列で実行すると、事前リンクによってパフォーマンスが向上する場合があります)。

全体として、特定の状況を検討してから、追加の作業や労力よりもメリットの方が勝るかどうかを判断する必要があります。

1

メモリの価格が下がると、プリリンクの有用性が低下すると思います。それでも少し速度を上げたい場合は、 preload を調べます。

0
Nick Anderson

その決定はOSのバージョンに任せます。デフォルトでOSがcronを使用して定期的にプリリンクを呼び出すことを選択した場合、それ以外の場合は問題ない可能性があります。ディストリビューションの作成者が、デフォルトでプレリンクオプションを追加/削除する前に検討したことを願っています。自分でもう一度分析するのではなく、一緒に行きます。

0

Gentooはプレリンクを使用しています。ハッシュを計算するプリリンク情報を無視することで、md5sumの問題を回避します。

Prelinkは常に速度を向上させますが、ハードウェアが高速になるほど、速度は低下します。ハードウェアで確実に知る唯一の方法は、プリリンクをオフにして、アプリの起動時のスローダウンがどのように好きかを確認することです。

補足:OS Xは以前にある種の事前リンクも行っていましたが、リンクが維持するリンクキャッシュを優先して破棄されました。両方の長所のうち、バイナリの変更はなく、通常のリンクと比べて実際のオーバーヘッドはありません。 Linuxがこのアイデアをいつか取り入れてくれることを願っています:)

更新:最近Linuxでプリリンクを試みました 、そして多くのファイルとプロセスを含むcscopeのコンパイルでは5%を得ましたスピードブースト。

0
w00t